解决设置精度错误的方法

Solution to set precision errors

本文关键字:方法 错误 精度 设置 解决      更新时间:2023-10-16

我哪里做错了?我包括setprecision(2),但输出是错误的。例如:如果和是23,n是10,那么答案是2.00

for(i=3; i<n; i++)
{
    sum=sum+marks[i];
}
cout<<"Total marks of the student is "<<sum<<endl;
avg=sum/n;
cout.setf(ios::showpoint);
cout<<setprecision(2)<<fixed;
cout<<"Average marks of the student is "<<avg<<endl;
getch();

这是因为您使用的是整数除法,其中小数部分(余数)被丢弃。

改变
avg=sum/n;

avg=sum/(float)n;