这是用C++编写的,我的程序问题将Celsius转换为Fahrenheit.
我遇到问题的一条线是我的转换方程线:
fahrenheitTemp = (9 / 5) * celsiusTemp + 32
Run Code Online (Sandbox Code Playgroud)
当我1.8代替时,等式/程序工作正常,9 / 5但由于某种原因,9 / 5永远不会乘以celsiusTemp.它总是返回值celsiusTemp + 32.
程序的其余部分是好的,它只是9 / 5没有做任何事情,我甚至尝试了所有不同类型的组合括号等.
我知道这是一个非常普遍和基本的问题,但其他线程并没有帮助我解决我的问题.我对c ++比较陌生,但有很好的python知识.
double pi = 4/1 - 4/3 + 4/5 - 4/7 + 4/9;
std::cout << "This is pi: " << pi;
Run Code Online (Sandbox Code Playgroud)
所以这总是返回"3".
我在其他线程中读到这是因为我用整数计算所以我尝试了类似的东西
double(4)/1 - 4/3 ...
double(4/1 - 4/3 ...)
double(4/1) - 4/3 ...
他们仍然返回3 ?? 为什么
#include <stdio.h>
int main(int argc, const char * argv[]) {
int a = 10;
int b = 20;
double result = a / b;
printf("%d divided by %d makes %f\n", a, b, result);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
期望%f返回0.500000,我运行代码,结果是0.000000.
有result变量返回零值的原因吗?
我正在用 C 编写一个非常简单的程序,但我正在做的计算总是得到错误的答案。我想要的最终输出需要没有小数位,因此int即使答案不是整数,我也将其用作数据类型。这是代码:
int numberOfInches = (100/254)*101;
Run Code Online (Sandbox Code Playgroud)
如果我将其int用作数据类型,我会得到答案 0,如果我尝试使用float或 ,我会得到疯狂的长数字double。关于我做错了什么的任何想法?