zlzjsl 2017-02-01 03:21 采纳率: 57.1%
浏览 989
已采纳

c++函数构造出现问题?

这是一个将华氏温度转化为摄氏温度的函数,为什么输出华氏温度后,输出的摄氏温度值一直为0呢?

#include<iostream>
#include<cstdlib>
using namespace std;

int ftoc(int f)
{
    int c;
    c = (5 / 9 * (f - 32));
    return c;
}
int main()
{
    int fahr;
    int celi;
    cout << "please enter the fahr: ";
    cin >> fahr;
    celi = ftoc(fahr);
    cout << "the celi is: " << celi << endl;
    system("pause");
    return 0;
}

  • 写回答

2条回答 默认 最新

  • Xefvan 2017-02-01 03:35
    关注

    c = (5 / 9 * (f - 32));

    因为在C++里运算是从左边到右边的,/和*的运算级别是一样的,所以先算5 / 9 在C++里其计算结果为0,所以 0 * (f - 32)都为0

    改为:

     double c;
     c = (static_cast<double>(5) / 9 * ( f - 32 ));
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思