注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

c++如何 输出小数点后几位  

2014-03-17 09:04:05|  分类: ACM学习小结 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
输入描述:输入数据不多于 50 对,每对数据含有一个整数 n(1≤n≤20)、一个小数
q(0<q<2)。
输出描述:对于每组数据 n 和 q,计算其等比数列的和,精确到小数点后 3 位,每个
计算结果应单独占一行。
输入样例
6 0.3 5 1.3
输出样例
1.428
12.756
对于等比数列之和
1
2
3
n
n
S
a
a
a
a
=
+
+
+
+
?
,有公式
1(1
)
1
n
n
a
q
S
q
?
=
?
1
q ≠ )。本例要
求的等比数列,实际上是有
1
n+ 项,且
1
1
a = 。
另外,求
y
x 的函数是 pow(x,y),它需要“#include <cmath>”。
本题要求控制小数点后的位数,如果采用 C 语言的 printf 函数来输出,那么控制小数
点后的位数形式为“printf("%*.*f", a);”,如“printf("%.3f\n",sum);”。如果采用 C++的 cout
输出,那么先用“cout.precision(n);”来设定小数点后保留 n 位,然后,输出时加“fixed”
参数,表明是定点输出。
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main(int argc, char* argv[])
{
//ifstream cin("aaa.txt");
//定点输出小数点后 3 位;否则是输出有效数字 3 位
cout.precision(3);
int n;
double q,sum;
while(cin>>n>>q)
{
if(q==1)sum=1+n;
else
sum=(1-pow(q,n+1))/(1-q);
//使用 fixed,定点输出,即小数点后的精度是 3 位
cout<<fixed<<sum<<endl;
}
return 0;
}
  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017