C语言中,自定义函数的初值怎么设定。。。(在线等)

比如说,我现在自定义了一个函数:f(n)=f(n-1)+f(n-2),而且我已知f(1)=1且f(2)=2,现在循环调用放f(n)这个函数,怎样在函数中说明f(1)和f(... 比如说,我现在自定义了一个函数:f(n)=f(n-1)+f(n-2),而且我已知f(1)=1且f(2)=2,现在循环调用放f(n)这个函数,怎样在函数中说明f(1)和f(2)的值 展开
 我来答
zjfaok
2013-07-14 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1643万
展开全部
if(n = 1) f := 1;
if(n = 2) f := 2;
//这当然不是C代码,不过要写成C代码的形式也不难吧……
追问

体谅下渣渣吧。。。TT,看看我这个怎么改

追答
int count (int n)
{
    int N = 0;
    if(n == 1) N = 1;
    else if(n == 2) N = 2;
    else if(n == 3) N = 4;
    else N = count(n-1)+count(n-2)+count(n-3);
    return N;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunnyapi
2013-07-14 · TA获得超过1032个赞
知道小有建树答主
回答量:376
采纳率:100%
帮助的人:370万
展开全部
int count(int n)

{

    int N=0;

    if(n==1)

    {

        N=1;

    }

    else if(n==2)

    {

        N=2;

    }

    else if(n==3)

    {

        N=4;

    }

    else if(n>3)

    {

        N=count(n-1)+count(n-2)+count(n-3);

    }

    return N;

}

 

刚看到你的要求  给你写了一下

追问
好吧,是我描述的有问题。。。
我是想求:f(n-1)+f(n-2)+f(3)的值,现在一直放f(1)=1,f(2)=2,f(3)=4
求f(6)=f(3)+f(4)+f(5)=4 +f(1)+f(2)+f(3)+ f(2)+f(3)+f(4)=4+1+2+4+2+4+ f(1)+f(2)+f(3)=17+1+2+4=24
追答

看懂你的意思了

你的意思是如果n是6或者比6大的数

f(n)=f(n-1)+f(n-2)+f(3)

int count(int n)
{
    int N=0;
    if(n==1)
    {
        N=1;
    }
    else if(n==2)
    {
        N=2;
    }
    else if(n==3)
    {
        N=4;
    }
    else if(n==4||n==5)
    {
        N=count(n-1)+count(n-2);
    }
    else if(n>5)
    {
        N=count(n-1)+count(n-2)+count(3);
    }
    return N;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2013-07-14 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5789万
展开全部
#include<stdio.h>

int f(int n){
int r,s;
if (n==1) return 1;
if (n==2) return 2;
r=f(n-1); // 递归调用
s=f(n-2); // 递归调用
return r+s;
}

main(){
int n=4;
printf("input n [n >= 1]\n");
scanf("%d",&n);
printf("n=%d f=%d\n",n,f(n));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
认不倒你
2013-07-14 · TA获得超过666个赞
知道小有建树答主
回答量:820
采纳率:50%
帮助的人:366万
展开全部
inf f(int n)
{
if(n==1 ||n==2)
    return n;
else
    return f(n-1)+f(n-2);
}
追问

你估计误解了,算了,你看看我这个怎么改。。。

追答
int count(int n)
{
    int N;
    if(n==1)
     N=1;
    if(n==2)
     N=2;
    if(n==3)
     N=4;
    if(n>3)
     N=count(n-1)+count(n-2)+count(n-3);
    
    return N; 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式