1292分数和

分数和
 

描述

计算 1+1/2+1/3+1/4+……1/n

 

输入

一行。一个整数n。

 

输出

输出结果,结果保留2位小数。

 

输入样例 1 

5

输出样例 1

2.28

输入样例 2 

100

输出样例 2

5.19

  这题用到for循环,定义一个变量n,i<=n;i++。然后再循环中累加1/i。输出保留两位小数。
 1 #include<iostream>
 2 #include<iomanip>
 3 using namespace std;
 4 int main()
 5 {
 6     int n,a;
 7     double s=1;
 8     cin>>n;
 9     a=n;
10     for(int i=2;i<=n;i++)
11     {
12         s+=1/i;
13     }
14     cout<<fixed<<setprecision(2)<<s;
15 } 

  如果你运行这个代码,那你会发现不管输入什么,都只会输出1.00。需要在循环中的1后面加上小数点才能正常输出,如下。

 1 #include<iostream>
 2 #include<iomanip>
 3 using namespace std;
 4 int main()
 5 {
 6     int n,a;
 7     double s=1;
 8     cin>>n;
 9     a=n;
10     for(int i=2;i<=n;i++)
11     {
12         s+=1.0/i;
13     }
14     cout<<fixed<<setprecision(2)<<s;
15 } 

 

 

posted @ 2020-09-13 11:37  knbit  阅读(123)  评论(0编辑  收藏  举报