C语言输出的总是0.000,求大神指教。程序如下。

#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
double f,c;
printf("please enter F");
scanf("%f",&f);
c=5/9*(f-32);
printf("%f",c);
system("PAUSE");
return EXIT_SUCCESS;
}

scanf("%f",&f);
//double类型的输入不能使用%f进行输入,得用%lf才能正常得到a的值。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-13
c=5/9*(f-32);改成c=5.0/9*(f-32);就行了,5/9是两个int型,结果是0
第2个回答  2014-05-13
5/9 改为5.0/9

ps:
5/9 一直等于0追问

嗯……不过还是有点瑕疵……抱歉啦。