转载自:https://blog.csdn.net/xia0liang/article/details/53157455
【程序24】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
2.程序源代码:
#include "stdio.h"
#include "stdlib.h"
//#include <windows.h>
int main()
{
//SetConsoleOutputCP(437);
int n, t, number = 20;
float a = 2, b = 1, s = 0;
for (n = 1; n <= number; n++)
{
s = s + a / b;
t = a; a = a + b; b = t;
}
printf("sum is %9.6f\n", s);
system("pause");
}
【程序25】
题目:求1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加变成了累乘。
2.程序源代码:
#include "stdio.h"
#include "stdlib.h"
//#include <windows.h>
int main()
{
//SetConsoleOutputCP(437);
float n, s = 0, t = 1;
for (n = 1; n <= 20; n++)
{
t = t*n;
s = s + t;
}
printf("1+2!+3!+...+20!=%e\n", s);
system("pause");
}
【程序26】
题目:利用递归方法求5!。
1.程序分析:递归公式:fn=fn_1*4!
2.程序源代码:
#include "stdio.h"
#include "stdlib.h"
//#include <windows.h>
int fact(int j)
{
int sum;
if (j == 0)
sum = 1;
else
sum = j*fact(j - 1);
return sum;
}
int main()
{
//SetConsoleOutputCP(437);
int i;
scanf("%d", &i);
printf("%d!=%d\n", i,fact(i));
system("pause");
}