出包王女darkness下拉:大家帮帮我解释下这个C语言问题

来源:百度文库 编辑:高考问答 时间:2024/05/07 04:27:29
看下面在程序:
#include "Stdio.h"
#include "Conio.h"

int main(void)
{
float a,b,c,max;
printf("input number:\n");
scanf("%f%f%f",&a,&b,&c);
if(a>b)
if(b>c)
printf("%f%f%f\n",a,b,c);
else if(a>c)
printf("%f%f%f\n",a,c,b);
else
printf("%f%f%f\n",c,a,b);
else if(a>c)
printf("%f%f%f\n",b,a,c);
else if(b>c)
printf("%f%f%f\n",b,c,a);
else
printf("%f%f%f\n",c,b,a);
getch();
return 0;
}

程序从if 的下一个内层语句就不大清楚啦!,a>b,后面几个a,b,c值不一样,怎么会按那种顺序输出呢????????

这样你可能会看得更清楚:
int main(void)
{
float a,b,c,max;
printf("input number:\n");
scanf("%f%f%f",&a,&b,&c);
if(a>b)
{
if(b>c)
printf("%f%f%f\n",a,b,c);
else if(a>c) //同时满足b<c
printf("%f%f%f\n",a,c,b);
else //a>b,a<c,b<c
printf("%f%f%f\n",c,a,b);
}
else if(a>c) //从这一行开始是a<b的情况
printf("%f%f%f\n",b,a,c);
else if(b>c)
printf("%f%f%f\n",b,c,a);
else
printf("%f%f%f\n",c,b,a);
getch();
return 0;
}

编码风格有问题
if语句后应该加大括号