水水水水123 发表于 2021-9-4 16:24:40

个别数据输出异常

求助!
目标是使输出的四个整数从小到大依次排列,但这个程序有一些数据会出现问题,比如45,5,12,1,输出之后的排序是1<12<12<45
但其他顺序可以运行成功,求大佬解答一下!!!!!(刚入门c的萌新)






#include <stdio.h>
int main()
{ long int a,b,c,d,t;
        printf("请输入四个整数:\n");
        scanf("%d%d%d%d",&a,&b,&c,&d);
        if (a>b)
        {
                t=a;
                a=b;
                b=t;
        }
    if (a>c)
        {
                t=a;
                a=c;
                c=t;
        }       
        if (a>d)
        {
                t=a;
                a=d;
                d=c;
        }
        if (b>c)
        {
                t=b;
                b=c;
                c=t;
        }
        if (b>d)
        {
                t=b;
                b=d;
                d=t;
        }
        if (c>d)
        {
                t=c;
                c=d;
                d=t;
        }
        printf("从小到大是%d<%d<%d<%d\n",a,b,c,d);
       
        return 0;
}

大马强 发表于 2021-9-4 17:46:15

这里错了 if (a>d)
      {
                t=a;
                a=d;
                d=c;

水水水水123 发表于 2021-9-5 09:17:22

大马强 发表于 2021-9-4 17:46
这里错了

谢谢了,我太粗心了
页: [1]
查看完整版本: 个别数据输出异常