2891 - 【基础题】第6章:循环控制结构迭代 分数求和
分数求和 2/1+3/2+5/3+8/5+……
输入一个数字n,n表示加数的个数。
例如输入1,即输出 2.00
输入2,即表示2/1+3/2 ,输出3.50
保留小数点后两位
题目输入
n
题目输出
n个加数的和,保留2位小数
输入/输出样例
题目输入
5
题目输出
8.39
C语言解答
#include<stdio.h> main() { float a=1,b=1,c,x,sum=0,i; int n; scanf("%d",&n); for(i=1;i<=n;i++) { c=a+b; x=c/b; sum+=x; a=b; b=c; } printf("%0.2f",sum); return 0; }
C++解答
#include <iostream> #include <cstdio> using namespace std; int main() { int n,p,q,t; double ans; p=1; q=2; ans=(double)q/p; cin>>n; for(int i=2;i<=n;i++) { t=p+q; p=q; q=t; ans=ans+(double)q/p; } printf("%.2lf\n",ans); return 0; }