C语言,若a>b则交换值

int main(void)
{
int a,b,c;
scanf("%f",&a);
scanf("%f",&b);
if(a>b)
c = a;
c = b;
b = c;
printf("a=%.3f,\nb=%.3f",a,b);
if(a<b)
printf("a=%f,b=%f",a,b);
getch();
return 0;
}

第1个回答  2011-09-26
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d",&a);
scanf("%d",&b);
if(a>b)
{
c = a;
a = b;
b = c;
printf("a=%.3d,\nb=%.3d",a,b);
}

else
printf("a=%d,b=%d\n",a,b);
return 0;
}
错误挺多的,少头文件,main函数不用参数void,整型用%d,另外算法错误
建议楼主看书把基础打牢再编程
祝学好C~~~本回答被提问者采纳
第2个回答  2011-09-26
首先,要包含个头文件哈。
其次,abc的类型改为float
第三,if(a>b)下面的操作要加花括号哦~要不然只会运行if判断语句下面第一句话。
第四,对换值的操作改为:
c=a;
a=b;
b=c;
完整代码如下~

#include <stdio.h>

int main(void)
{
float a,b,c;
scanf("%f",&a);
scanf("%f",&b);
if(a>b)
{
c=a;
a=b;
b=c;
}
printf("a=%.3f,\nb=%.3f",a,b);
if(a<b)
printf("a=%f,b=%f",a,b);
getch();
return 0;
}
第3个回答  2011-09-26
if(a>b)
c = a;
c = b;
b = c;
应该改成
c=a
a=b
b=c