Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么即使我的程序已经有了它的值,我仍然要得到0作为我程序的答案?(C+;+;)_C++ - Fatal编程技术网

C++ 为什么即使我的程序已经有了它的值,我仍然要得到0作为我程序的答案?(C+;+;)

C++ 为什么即使我的程序已经有了它的值,我仍然要得到0作为我程序的答案?(C+;+;),c++,C++,代码行cout.width(10);cout简短回答:用100.0替换100 (freq) /(n)*100.0 长答覆: 除以整数数据类型也会生成一个整数作为数据类型,因此如果执行A/B和B>A,并且B和A都是整数,则结果是0不能执行float x[n] C++中,使用 STD::向量x(n)< /C> >,即使我将它改为100,它仍然会得到0。还有别的办法吗?没有。。。它必须是0.00,如果不是,则表示您做错了……乘法和除法从左到右分组,这样表达式就相当于(freq/n)*100.0。除法

代码行
cout.width(10);cout简短回答:用100.0替换100

(freq) /(n)*100.0
长答覆:


除以整数数据类型也会生成一个整数作为数据类型,因此如果执行
A/B
和B>A,并且B和A都是整数,则结果是0

不能执行
float x[n] C++中,使用<代码> STD::向量x(n)< /C> >,即使我将它改为100,它仍然会得到0。还有别的办法吗?没有。。。它必须是0.00,如果不是,则表示您做错了……乘法和除法从左到右分组,这样表达式就相当于
(freq/n)*100.0
。除法仍然将两个整数相除。写为
100.0*freq/n
以利用分组规则。谢谢你,皮特!我不知道。