/*
05-0. 求序列前N项和(15)
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列
从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:输入在一行中给出一个正整数N。
输出格式:在一行中输出部分和的值,精确到小数点后2位。题目保证计算结果不超过双精度范围。
输入样例:20
输出样例:32.66
*/
#include <stdio.h>
int main()
{
float a=2, b=1;
int n, t, i;
float total=0;
printf("input>>> ");
scanf("%d",&n);
for(i=0; i<n; i++){
total += a/b;
// printf("a=%f, b=%f, total=%f \n", a,b,total);
t = a;
a = a+b;
b = t;
}
printf("\n\n%.2f", total);
return 0;
}
/*
05-1. 约分最简分式(15)
分数可以表示为“分子/分母”的形式。编写一个程序,要求用户输入一个分数,
然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。
如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,
即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。
输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠“/”分隔,
如:12/34表示34