解题思路:
1.通过观察,第一个分数的分子为2,分母为1,第二个分数分子为前一个分数的分子分母之和,分母为前一个分数的分子,求前n项的和
2.设置累加器sum为0,为double类型,因为结果是小数
3.创建n次的循环,设置变量a为分子,初始化为2,b为分母,初始化为1
4.循环体为sum=sum+a*1.0/b(注意,两个整数相除要乘1.0变为小数),在这里可以设置一个num存a和b的和,num=a+b,b=a(将前一个分数的分子赋值给第二个分数的分母),a=num(将前一个分数分子分母的和赋值给第二个分数的分子)
5.输出累加器sum即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a=2,b=1;//初始化变量
double sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
sum=sum+a*1.0/b;//分数累加
int num=a+b;//下一个分数的分子
b=a;//下一个数的分母
a=num;
}
printf("%.4lf",sum);//保留4位小数输出
return 0;
}