C++ 输出不符合我的预期结果,如何修复?
我的预期结果是平均值=73.5,我已将平均值类型设置为双精度,但结果为73有什么问题C++ 输出不符合我的预期结果,如何修复?,c++,C++,我的预期结果是平均值=73.5,我已将平均值类型设置为双精度,但结果为73有什么问题 #include <iostream> using namespace std; int main(){ int x=0; int total=0; double average=0; int counter=0; cout<<"Question 1"<<endl<<"Enter integer(-100 to end);"; cin>>
#include <iostream>
using namespace std;
int main(){
int x=0;
int total=0;
double average=0;
int counter=0;
cout<<"Question 1"<<endl<<"Enter integer(-100 to end);";
cin>>x;
if (x!=-100)
{
for(;x!=-100;counter++)
{
total=total+x;
cin>>x;
}
average = total/counter;
}
cout<<"The average is:"<<average<<endl;
return 0 ;
#包括
使用名称空间std;
int main(){
int x=0;
int-total=0;
双平均=0;
int计数器=0;
CUT< P>整数运算结果是整数。在C和C++中,它们从不产生浮点结果。需要在计算中包含浮点值,例如
average = (1.0 * total) / counter;
整数运算结果是整数。在C和C++中,它们从不产生浮点结果。需要在计算中包含浮点值,例如
average = (1.0 * total) / counter;
整数运算结果是整数。在C和C++中,它们从不产生浮点结果。需要在计算中包含浮点值,例如
average = (1.0 * total) / counter;
整数运算结果是整数。在C和C++中,它们从不产生浮点结果。需要在计算中包含浮点值,例如
average = (1.0 * total) / counter;
您正在进行整数计算。请将其中一个整数强制转换为双精度:
average = ((double)total)/counter;
您正在进行整数计算。请将其中一个整数强制转换为双精度:
average = ((double)total)/counter;
您正在进行整数计算。请将其中一个整数强制转换为双精度:
average = ((double)total)/counter;
您正在进行整数计算。请将其中一个整数强制转换为双精度:
average = ((double)total)/counter;
由于total
和counter
都是int
,因此该计算的结果将是int
。有很多方法可以解决它-(1.0*total)/计数器
是一个。由于总计
和计数器
都是int
,该计算的结果将是int
。有许多方法可以解决它-(1.0*总计)/计数器
是一个。由于总计
和计数器
都是int
,该计算的结果将是int
。有许多方法可以解决它-(1.0*总计)/计数器
是一个。由于总计
和计数器
都是int
,该计算的结果将是int
。有很多方法可以解决它-(1.0*总计)/计数器
是一个。出于好奇,静态转换比(双精度)更可取吗只是语法上的不同。在这个例子中完全相同。谢谢你&迪特玛,还有+1@lolando:我当然更喜欢static_cast(total)
:虽然在这种情况下,它做的完全相同,但当它不相同时,它会发现问题,例如,当C样式转换将导致重新解释_cast()时
或aconst\u cast()
。出于好奇,静态\u cast是否优于(双精度)?只是语法上的不同。在这种情况下完全相同。谢谢你&迪特玛,还有+1@lolando:我当然更喜欢static\u cast(总计)
:虽然在这种情况下,它的作用完全相同,但当它不相同时,它会发现问题,例如,当C样式转换将导致重新解释转换()
或常量转换()
。出于好奇,静态转换是否比(双精度)更可取只是语法上的不同。在这个例子中完全相同。谢谢你&迪特玛,还有+1@lolando:我当然更喜欢static_cast(total)
:虽然在这种情况下,它做的完全相同,但当它不相同时,它会发现问题,例如,当C样式转换将导致重新解释_cast()时
或aconst\u cast()
。出于好奇,静态\u cast是否优于(双精度)?只是语法上的不同。在这种情况下完全相同。谢谢你&迪特玛,还有+1@lolando:我当然更喜欢static\u cast(总计)
:虽然在这种情况下,它的作用完全相同,但当它不相同时,它会发现问题,例如,C样式转换将导致重新解释转换()
或常量转换()
。