#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> int main() { float sum=0; float fenzi=2; float fenmu=1; for(int i=0;i<20;i++) { sum+=fenzi/fenmu; float zancun=fenmu; fenmu=fenzi; fenzi+=zancun; } printf("%f",sum); }
从题目当中可以看...
用户登录可进行刷题及查看答案
从题目当中可以看出来,下一个分式当中的分子为上一个分式中分子和分母的和,分母为上一个分式的分子。通过这个规律不难推出下一个分式的分子和分母,需要注意的是,保存分式的结果不能使用到整数,因为有可能会有小数的存在,所以我们需要选用浮点数double
#include <stdio.h> //定义循环次数 #define COUNT 20 int main() { //定义第一个分式的分子为a, 值为2; 定义分母为b,值为1 //定义相加的和为sum,初始值为0 double a = 2, b = 1, sum = 0; double temp; for (int i = 0; i < COUNT; i++) { sum += a / b; //记录前一项分子 temp = a; //前一项分子与分母之和为后一项分子 a = a + b; //前一项分子为后一项分母 b = temp; } printf("前%d项之和为:sum=%9.7f\n", COUNT, sum); return 0; }
登录后提交答案