任意输入四个数,比较大小,按从小到大输出,找错误

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:19:58
int a,b,c,d,t;
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=t;
}

if(b>c)
{
t=b,b=c,c=t;
}
if(b>d)
{

t=b,b=d,d=b;
}
if(c>d)
{
t=c,c=d,d=t;
}

printf("%d %d %d %d",a,b,c,d);

首先不是一个完整的程序
倒数第二个的比较
if(b>d)
{
t=b;b=d;/*d=b应该是*/d=t;
}
另外用,号替代分号是个逻辑错误。
完整程序:
#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;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;
}

printf("%d %d %d %d",a,b,c,d);

return 0;
}

没错误