题目
解决代码及点评
这个题目,还是考察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.****.net/detail/yincheng01/6640771
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果