wsb1991abc 发表于 2023-3-11 20:22:46

输入4个整数,并由小到大输出

#include<stdio.h>
int main()
{
int a,b,c,d,t;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a>b)
{
    t=a;
        b=t;
        a=b;
}
if(a>c)
{
    t=a;
        c=t;
        a=c;
}
if(a>d)
{
    t=a;
        d=t;
        a=d;
}
if(b>c)
{
    t=b;
        c=t;
        b=c;
}
if(b>d)
{
    t=b;
        d=t;
        b=d;
}
if(c>d)
{
    t=c;
        d=t;
        c=d;
}
printf("%d,%d,%d,%d\n",a,b,c,d);
return 0;
}

输入2,5,6,3按回车输出2,5,6,6编译没问题,

jhq999 发表于 2023-3-11 20:29:28

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=t;
      
}
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;
      
}

wsb1991abc 发表于 2023-3-11 22:01:05

大神,你的和我的只是if语名的第二行和第三行互换了,这样有什么不同吗,原理是什么

歌者文明清理员 发表于 2023-3-11 23:04:01

wsb1991abc 发表于 2023-3-11 22:01
大神,你的和我的只是if语名的第二行和第三行互换了,这样有什么不同吗,原理是什么

回复他的帖子得在他帖子下方点“回复”,不然他那里没提示

jhq999 发表于 2023-3-11 23:25:58

本帖最后由 jhq999 于 2023-3-11 23:27 编辑

wsb1991abc 发表于 2023-3-11 22:01
大神,你的和我的只是if语名的第二行和第三行互换了,这样有什么不同吗,原理是什么

a=2;
b=5;//互换
t=a;//t=2
a=b;//a=5
b=t;//b=2
//你的
t=a//t=2
b=t//b=2
a=b//a=2



wsb1991abc 发表于 2023-3-12 18:51:57

谢谢大神的回答,让人恍然大悟,看来是知识没理解,还没学到家
页: [1]
查看完整版本: 输入4个整数,并由小到大输出