一简单程序求解

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:17:10
#include "stdio.h"
main()
{
int a,b,c;
printf("No.a=\n");
scanf("%f",&a);
printf("No.b=\n");
scanf("%f",&b);
printf("No.c=\n");
scanf("%f",&c);
printf("X=斜边,G1=股,G=勾");
if(a>b>c)
printf("%f=X,%f=G1,%f=G",a,b,c);
else if(a>c>b)
printf("%f=X,%f=G1,%f=G",a,c,b);
else if(b>a>c)
printf("%f=X,%f=G1,%f=G",b,a,c);
else if(b>c>a)
printf("%f=X,%f=G1,%f=G",b,c,a);
else if(c>a>b)
printf("%f=X,%f=G1,%f=G",c,a,b);
else if(c>b>a)
printf("%f=X,%f=G1,%f=G",c,b,a);
else
printf("错误");

}
运行之有 输入a的值 就提示要终止程序,那里出错了??
按 一楼的做了 但是输入a,b,c的值后,只会输出错误 ...

#include "stdio.h"
main()
{
float a,b,c; /*这里将 int 改成了 float */
printf("No.a=\n");
scanf("%f",&a);
printf("No.b=\n");
scanf("%f",&b);
printf("No.c=\n");
scanf("%f",&c);
printf("X=斜边,G1=股,G=勾");
if(a>b&&b>c)
printf("%f=X,%f=G1,%f=G",a,b,c);
else if(a>c&&c>b)
printf("%f=X,%f=G1,%f=G",a,c,b);
else if(b>a&&a>c)
printf("%f=X,%f=G1,%f=G",b,a,c);
else if(b>c&&c>a)
printf("%f=X,%f=G1,%f=G",b,c,a);
else if(c>a&&a>b)
printf("%f=X,%f=G1,%f=G",c,a,b);
else if(c>b&&b>a)
printf("%f=X,%f=G1,%f=G",c,b,a);
else
printf("错误");
}

将你的程序改了下, %f 是 float 类型 ,所以应把 int 改为 float,
把所有 a>b>c 之类的条件判断都改为 a>b&&b>