如何控制小数的位数?
写了这个程序,如何控制cout<<"the young man win "<<(num-1e+07)/1e+08<<"million"<<endl;的输出结果为三位小数?
#include<iostream>
using namespace std;
int main(){
int i,day;
long sum,num,num1;
sum=1;
num=1;
for(i=2;i<=30;i++)
{
num1=num;
sum*=2;
num+=sum;
if(num1<1e+07&&num>=1e+07)
day=i;
}
cout<<"day="<<day<<endl;
cout<<"the young man win "<<(num-1e+07)/1e+08<<"million"<<endl;
return 0;
}
[解决办法]
#include<iostream>using namespace std;int main(){int i,day;long sum,num,num1;sum=1;num=1;for(i=2;i<=30;i++){num1=num;sum*=2;num+=sum;if(num1<1e+07&&num>=1e+07)day=i;}cout<<"day="<<day<<endl; cout.setf(ios::fixed); cout.precision(3);cout<<"the young man win "<<(num-1e+07)/1e+08<<"million"<<endl;return 0;}