大家帮忙看看这个程序哪错了

来源:百度知道 编辑:UC知道 时间:2024/05/03 08:53:32
#include<stdio.h>
main()
{
int a,b,c,temp;
scanf("%d%d%d\n",&a,&b,&c);
if (a>b) {a=temp;a=b;b=temp;}
if (a>c) {a=temp;a=c;c=temp;}
if (b>c) {b=temp;b=c;c=temp;}
printf("%f%f%f\n",a,b,c);
}

为什么我运行后输入a,b,c的值后没有反应?

先用%d后用%f,你是故意的吗?
你的程序把三个数排序了,但是,
if (a>b) {a=temp;a=b;b=temp;}
一开始就用 temp 给 a 赋值,你写反了吧!应该是:
if (a>b) {temp=a;a=b;b=temp;}
后面的也是同样问题,改过来试试?

首先改这个
if (a>b) {temp=a;a=b;b=temp;}
if (a>c) {temp=a;a=c;c=temp;}
if (b>c) {temp=b;b=c;c=temp;}
其次
scanf("%d%d%d",&a,&b,&c);
scanf那里不要用换行,你那样输入就容易自己搞错了
再次
就是前后的类型要一样,别一会用整型,一会用浮点型,很容易出错的哦