一个使用递归函数的例子

#include <stdio.h>

double f(int n)
//递归函数,用于获取an
{
    
double an;
    
if (n == 1||== 0)
        an 
= 1;
    
else an = f(n-1+ f(n-2);
    
return an;
}


main()
{
    
int n;
    
int x,y;
    
double sum = 0;//sum用于存储最终值

    
do
    
{
        printf(
"%s","请正确输入n:");
        scanf(
"%d",&n);
    }
while(!(n>=1));
    
//如果n不合法,则要求再输入,直至合法

    
for(int i=1;i<=n;i++)
    sum
+= (f(i-1)/f(i));
    
//算出总和

    printf(
"%f\n",sum);
    
}
这个程序里有两个函数,分别为main和f,程序总是从main开始执行,在main里面调用f,
f用于算出an。要注意do...while与while的区别,前者就向公司老板先让雇员工作,然后
年终对雇员进行考核,如果通过考核则继续工作,否则解雇。而后者则像老板先队雇员进行
考核,如果合格才让他工作,年终时再进行考核,合格继续,否则解雇。
学习程序不用急,因为的确比较难,多看几遍自然就会了。有问题尽管问我,发短信,QQ,email都可.

posted on 2004-11-08 19:04  flybeyond  阅读(1290)  评论(0)    收藏  举报

导航