基于visual Studio2013解决C语言竞赛题之0406数列求和





题目


解决代码及点评

这个题目,还是考察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调试器” 执行


程序运行结果





你可能感兴趣的:(基于visual Studio2013解决C语言竞赛题之0406数列求和)