早教吧作业答案频道 -->其他-->
1、下列程序为什么无法将用户输入的三个整数按从小到大排序输出?应该如何修改?要求:描述出错原因(5分#includevoidswap(intx,inty)﹛intt;t=x;x=y;y=t;﹜main()﹛inta,b,c;scanf(“%d,%d,%d”,&
题目详情
1、下列程序为什么无法将用户输入的三个整数按从小到大排序输出?应该如何修改?要求:描述出错原因(5分
# include
void swap (int x,int y)
﹛
int t;
t = x;
x = y;
y = t;
﹜
main ()
﹛
int a,b,c;
scanf (“%d,%d,%d”,&a,&b,&c);
if (a>b) swap (a,b);
if (a>c) swap (a,c);
if (b>c) swap (b,c);
printf (“%d,%d,%d”,a,b,c);
﹜
# include
void swap (int x,int y)
﹛
int t;
t = x;
x = y;
y = t;
﹜
main ()
﹛
int a,b,c;
scanf (“%d,%d,%d”,&a,&b,&c);
if (a>b) swap (a,b);
if (a>c) swap (a,c);
if (b>c) swap (b,c);
printf (“%d,%d,%d”,a,b,c);
﹜
▼优质解答
答案和解析
用指针做:
#include "stdio.h"
void swap (int *x, int *y)
{
int t;
t = *x;
*x = *y;
*y = t;
}
main ()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b)
swap (&a,&b);
if (a>c)
swap (&a,&c);
if (b>c)
swap (&b,&c);
printf ("%d,%d,%d",a,b,c);
}
不用指针做自定义函数中的变量会被释放,比较的只是形参大小而实参不变,所以输出地还是原先输入的.
用指针则避免了这个问题,指针指向实参,可以更改实参的内容.
#include "stdio.h"
void swap (int *x, int *y)
{
int t;
t = *x;
*x = *y;
*y = t;
}
main ()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b)
swap (&a,&b);
if (a>c)
swap (&a,&c);
if (b>c)
swap (&b,&c);
printf ("%d,%d,%d",a,b,c);
}
不用指针做自定义函数中的变量会被释放,比较的只是形参大小而实参不变,所以输出地还是原先输入的.
用指针则避免了这个问题,指针指向实参,可以更改实参的内容.
看了1、下列程序为什么无法将用户输...的网友还看了以下:
将“实验室用高锰酸钾制取氧气注意事项”与有关的“原因描述”的序号填入空格中.ABCD.实验室用高锰 2020-04-08 …
故事说明和故事阐述的区别,请具体举例一二.本人参加一个比赛,要求有故事说明和故事阐述,这两者的分界 2020-05-17 …
ihadaideathatsomethinghadhappened我有一个想法,什么事情要发生了, 2020-05-21 …
用方框图作为详细设计工具将用到数据盒,下述()不是数据盒描述的对象。A.全程数据B.执行过程C.数据 2020-05-23 …
三国杀国战姜维遗志技能是什么意思?遗志——副将技。你计算体力上限时减少1个单独的阴阳鱼,若你的主将 2020-06-09 …
古白话中的“唱了个喏”是什么意思?具体描述下这个动作.古白话中的“打将开来,唱将开来”中的将是.. 2020-06-26 …
下列所述的情况,会造成家庭电路短路的是()A.将插座串联在火线上B.将电灯的开关装在了零线上C.当 2020-06-30 …
一篇英语作文,急用,好心人帮帮忙吧2100年人们的生活将会是什么样子呢?请写一篇80词左右的英语短 2020-07-12 …
下列叙述中,哪些属于对物质物理性质的描述,哪些属于对物质化学性质的描述,哪些属于物理变化的描述,哪 2020-08-03 …
下列所述的情况,可以肯定钢棒没有磁性的情况是()A.将钢棒的一端接近磁针的N极时,两者相互吸引;再将 2020-11-01 …