有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13 求出这个数列的前20项之和。
看到这个题目,我们就要找到其中的规律,我们发现初始化分母为一,分子为二,等到第二项的时候分母为上次的分子,分母为上面那个分子与分母的和。一共20项。找到着这样的规律,我们就可以很容易的写出如下的程序。代码如下:
#include <stdio.h>
int main(int argc,int *argv[]) { float fenzi = 2,fenmu = 1; int i=0,temp,n = 20; float result =0.0; do { printf("%.0f/%.0f ",fenzi,fenmu); // print item value. result += fenzi / fenmu; temp = fenzi + fenmu; fenmu = fenzi; fenzi = temp; i++; if ( i % 5 == 0) //if item is 5,begin break line.
{ printf("\n"); } }while (i < n); printf("\nresult is %f\n",result); system("pause"); return 0; }
|
上面代码中,如果要输出没有小数的浮点数可以使用"%.0f"。
阅读(1015) | 评论(0) | 转发(0) |