永发信息网

这道题用c语言怎么做呀,交换有点难理解

答案:1  悬赏:10  手机版
解决时间 2021-01-21 05:06
  • 提问者网友:鐵馬踏冰河
  • 2021-01-20 08:17
这道题用c语言怎么做呀,交换有点难理解
最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-01-20 08:43
就是先找出最小值,并赋给a,再找出次小值,并赋给b,c是最大值。按次序输出a、b、c的值,就是从小到大输出了。
交换的方法有很多种。
如果引入参数帮助交换,可能更容易理解:
#include 
void main(){
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b) {t=a;a=b;b=t;}
if(a>c) {t=a;a=c;c=t;}
if(b>c) {t=b;b=c;c=t;}
printf("%d %d %d",a,b,c);
}也可以不引入新的参数,直接交换两数的值:
#include 
void main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b) {a+=b;a-=b=a-b;}
if(a>c) {a+=c;a-=c=a-c;}
if(b>c) {b+=c;b-=c=b-c;}
printf("%d %d %d",a,b,c);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯