c++语言:为什么这样没办法保留两位小数呢?谢谢
#include<iostream>
#include<iomanip>
using namespace std;
const int MAXN=10001;
int main(){ int a[MAXN];
long i,N,sum=0;
cin>>N;
for(i=1;i<=N;i++){
cin>>a[i];
cout<<setiosflags(ios::fixed)<<setprecision(2);
sum=sum+a[i];
}
if(sum>100)
cout<<100+(sum-100)*0.9;
if(sum<=100)
cout<<sum;
return 0;
}
因为你定义的是长整型,所以没有保留小数位。把
long i,N,sum=0;改为:
long i,N;
float sum=0.0;
把sum定义为浮点型,就能保保留两位小数了。程序的运行结果如下:
下一篇:电脑死机问题
热门标签: