printf(\
}
}
==============================================================
【程序 2 4】
题目:有一分数序列: 2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13... 求出这个数列的前 20
项之和。
1. 程序分析:请抓住分子与分母的变化规律。
2. 程序源代码:
main()
{
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;/* 这部分是程序的关键,请读者猜猜 t 的作用*/
}
printf(\
}
==============================================================
【程序 2 5】
题目:求 1+2!+3!+...+20! 的和
2. 程序源代码:
main()
{
float n,s=0,t=1;
{
for(n=1;n<=20;n++)
t*=n;
s+=t;
}
printf(\
}
==============================================================
【程序 2 6】
题目:利用递归方法求 5! 。
1. 程序分析:递归公式: fn=fn_1*4!
2. 程序源代码:
#include \
main()
{
int i;
int fact();
for(i=0;i<5;i++)
printf(\
int fact(j)
int j;
{
int sum;
if(j==0)
sum=1;
else
sum=j*fact(j-1);
return sum;
}
==============================================================
【程序 2 7】
题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。
1. 程序分析:
2. 程序源代码:
#include \
main()
{
int i=5;
void palin(int n);
printf(\
palin(i);
printf(\
void palin(n)
int n;
{
char next;
if(n<=1)
{
next=getchar();
printf(\
putchar(next);
}
else
{
next=getchar();
palin(n-1);
putchar(next);
}
}
==============================================================
【程序 2 8】
题目:有 5 个人坐在一起,问第五个人多少岁他说比第 4 个人大 2 岁。问第 4 个人
岁数,他说比第
3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个
人大两岁。最后