这是道水题,然而却也容易出错。例如下面这段代码,看起来没什么问题,
#include<stdio.h>
int main()
{
int i;double t,sum=0;
for(i=1;i<=12;i++){
scanf("%lf",&t);
sum+=t;
}
printf("$%0.2lf",sum/12);
}
但却是WA,正确的AC代码如下
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
double a[12],sum=0;
for(int i=0;i<12;i++){
cin>>a[i];
sum+=a[i];
}
printf("$%.2f\n",sum/12);
return 0;
}
本文探讨了使用C++进行浮点数运算时常见的错误,并通过对比两段代码揭示了输入输出格式及精度控制的重要性。文章指出,在处理浮点数时,合理的数据类型选择和精确的格式控制对于避免计算误差至关重要。

822

被折叠的 条评论
为什么被折叠?



