题目
解决代码及点评
这个题目,还是考察for循环的使用
以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律
而另外一个规律是第n个分子和第n-1个分母值相同
所以这里使用了一个辅助数组来做计算
/************************************************************************/ /* 6. 有一分数序列 ,求出这个数列的前20项之和。 */ /************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> void main() { float a[21]={0}; float sum=0; a[0]=1; a[1]=2; for (int i=2;i<21;i++) // 计算所有的分子分母值,保存在数组a里,那么a的值是1,2,3,5,8.... { a[i]=a[i-1]+a[i-2]; } for (int i=0;i<20;i++) // 再来一次循环进行除法和累加 { sum+=a[i+1]/a[i]; // 这里a是float型,不是整形,如果是整形,除法将是整除,无法得到准确的值 } printf("前二十项之和为%f",sum); system("pause"); }
代码下载及其运行
代码下载链接:
http://download.csdn.net/detail/yincheng01/6640771
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果