这段C语言代码问题出在哪?

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:18:56
#include<stdio.h>
#include<math.h>
void main()
{ float F,c;
scanf("F=%f",&F);
c=5/9*(F-32);
printf("c=%7.2f\n",c);
}
怎么一进行编译的时候,给出的答案千奇百怪的

这段代码需要修改两个地方:
1. 将scanf("F=%f",&F);中的“F=”去掉就可以了,你估计是吧printf和scanf弄混淆了,可以看这里:http://baike.baidu.com/view/1390039.htm
2. 将c=5/9*(F-32);改为c=1.0*5/9*(F-32);,不然输出结果会不对,因为没有1.0*的话,系统会将5/9作为取整操作为0;

另外注意一下代码风格,呵呵,加油!
代码修改为:
#include<stdio.h>
#include<math.h>
void main()
{
float f,c;
scanf("%f",&f);
c=1.0*5/9*(f-32);
printf("c=%7.2f\n",c);
}

改成scanf("%f",&f);就OK了,还有就是变量最好用小写的。

应该是5/9这里的问题 了 你用强制转换符是一下
(float)5/9