if else 语句有些问题。得不到想要的结果
#include<stdio.h>int main()
{
int a, b, c, d, t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b)
{
t=b;
b=a;
a=t;
}
if(b>c)
{
t=c;
c=b;
b=t;
}
if(a>c)
{
t=c;
c=a;
a=t;
}
// printf("%d %d %d\n",a,b,c);
//后面是通过第四个数来对整个前三个已经排好序的数进行 排序,,用if else 是判断哪种情况,但是出现问题,
if(d<a)
printf("%d %d %d %d\n",d,a,b,c);
else
if(a<d && d<c)
printf("%d %d %d %d\n",a,d,b,c);
else
if(b<d && d<c)
printf("%d %d %d %d\n",a,b,d,c);
else
printf("%d %d %d %d\n",a,b,c,d);
return 0;
}
你下面那个开始判断第四个数就出错了,你的思路本身就是错的,你前面三个的排序是对的,为什么到了第四个你就不交换位置,难道你认为你前面三个排好了,第四个就会自动排好了?还有,你的if-else用错了。if-else是判断两种情况,要么是什么(if),要么就是什么(else)。像这种情况,可以用if-else if-else,要么是什么(if),或者是什么(else if ),或者是什么(else);用if-else if-else,中间可以加很多个else if。 同上 第四个数也应该交换位置 ANDES 发表于 2015-6-25 18:29
你下面那个开始判断第四个数就出错了,你的思路本身就是错的,你前面三个的排序是对的,为什么到了第四个你 ...
我已经解决了,谢谢 x15810803158 发表于 2015-6-26 09:14
同上 第四个数也应该交换位置
已经解决,谢啦
页:
[1]