gpt4 book ai didi

c - C 编程语言(第二版): Exercise 1-15 (Celsius to Fahrenheit conversion) - What is wrong with my solution?

转载 作者:行者123 更新时间:2023-11-30 21:20:47 25 4
gpt4 key购买 nike

如果这是一个愚蠢的问题,我想提前道歉,因为我只是 C 的初学者。本练习告诉您创建一个打印转换图表的程序使用函数计算华氏温度 - 摄氏度(尽管我以相反的方式进行)。我查找了解决方案( http://www.eng.uerj.br/~fariasol/disciplinas/LABPROG/C_language/Kernighan_and_Ritchie/solved-exercises/solved-exercises.html/krx115.html ),并且想知道我是否可以以不同的方式做同样的事情/没有明确说明“上”,“下”和“步骤”。这就是我想到的:

 #include <stdio.h>

int conv(int cel, int fahr);

main() {
int c, f;
f = 0;
for (c = 0; c <= 100; c = c + 5) {
printf("%d\t%d\n", c, conv(c, f));
}
}





int conv(int cel, int fahr)
{
fahr = (fahr-32) * (5/9);
return fahr;
}

但是,这只是打印一列 0 到 100 和一列全 0。我做错了什么?

最佳答案

您需要声明 floatdouble 类型的变量。你总是得到 0 因为在这个表达式中 -

fahr = (fahr-32) * (5/9);

5/9 在整数除法中是 0 并且整个值为 0 (由于与相乘 0)。

正如评论中提到的,上面的表达式应该是 -

 far=cel*(9/5)+32                   // convert  Celsius to fahrenheit

根据公式计算华氏度

关于c - C 编程语言(第二版): Exercise 1-15 (Celsius to Fahrenheit conversion) - What is wrong with my solution?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34482083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com