vc++高手进来

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:33:07
#include "iostream.h"

int main()
{
float c,f;
const int a=32;
const float g=5/9;
cin>>f;
c=(f-a)*g;

cout<<"温度为"<<c;
return 0;
}哪里错了 为什么运行的结果为0 不管输入什么数给c 都一样的等于零

int main()
{
float c,f;
const int a=32; //定义变量
const float g=5/9; //g=0
cin>>f; //输入f的值
c=(f-a)*g; //c=(f-a)*g,因为g=0,所以,不管输入什么数c都为0
//任何数乘于0都为0,不会这都不知吧。
cout<<"温度为"<<c;
return 0;

const float g=5/9;
改为
const float g=5./9.;

晕 你那个5/9 本来就是0
所以你怎么算 它肯定是0
改成5./9就行了 我运行了 可以成功

靠,口气不小!

错在const float g=5/9; 一行

/运算符如果两边都是整数的话最后的结果一定是正数,而且不会四舍五入
如2/3的结果是0,9/2的结果是4。如果要得到实数结果,则该运算符两边至少有一个是实数。