为了账号安全,请及时绑定邮箱和手机立即绑定

C语言用if语句排序 为什么输入有些数字能成功排序,输入有的数其值会减少?

C语言用if语句排序 为什么输入有些数字能成功排序,输入有的数其值会减少?

C
a56366 2016-11-02 16:55:50
输入其他数可以完成排序#include<stdio.h>int main(){int a,b,c,d,e;scanf("%d,%d,%d,%d",&a,&b,&c,&d);if(a<b){e=b;b=a;a=e;}if(a<c){e=c;c=a;a=e;}if(a<d){e=d;d=a;a=e;}if(b<c){e=c;c=b;b=c;}if(b<d){e=d;d=b;b=e;}if(c<d){e=d;d=c;c=e;}printf("%d,%d,%d,%d",a,b,c,d); return 0;}
查看完整描述

3 回答

已采纳
?
二部学习小组

TA贡献4条经验 获得超1个赞

你写错了 :e写成c了

    if(b<c){e=c;c=b;b=e;}

查看完整回答
反对 回复 2016-12-05
?
慕娘6529770

TA贡献3条经验 获得超3个赞

你用的if但并没有配套使用elseif else 所以,代码每一层都会判断,上一个判断更换了值,下一个判断就换了!
查看完整回答
1 反对 回复 2016-11-02
?
TigerSleepy

TA贡献3条经验 获得超0个赞

用冒泡法排序一下,这个看起来好麻烦

查看完整回答
反对 回复 2016-12-06
  • 3 回答
  • 0 关注
  • 1474 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信