输入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编译没问题, 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;
} 大神,你的和我的只是if语名的第二行和第三行互换了,这样有什么不同吗,原理是什么 wsb1991abc 发表于 2023-3-11 22:01
大神,你的和我的只是if语名的第二行和第三行互换了,这样有什么不同吗,原理是什么
回复他的帖子得在他帖子下方点“回复”,不然他那里没提示 本帖最后由 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
谢谢大神的回答,让人恍然大悟,看来是知识没理解,还没学到家
页:
[1]