c语言兔子繁殖问题函数 c语言编程题兔子生兔子

c语言题老师留的 兔子繁殖问题,用递归函数的方法做 。个位大神编一个然后写下答案请写上兔子多少只//兔子的对数,就是Fibonacci数列
//1 1 2 3 5 8 13 21 34 55 89 ...
#include stdio.h
int f(int n)
{
if(n3)
return 1;
else
return f(n - 2)f(n - 1);
}
void main()
{
int n;
scanf("%d", n);
printf("%d年后,有兔子%d只.\n", n, f(n));
}
C语言兔子繁殖问题第一 。。。定义为50是因为会用到45.一般都会定义大一点 。
第二 。。。怎么可能会不可以运行 。你就算2个都改成45也是可以用的 。
你截图上来 。怎么可能不可以 。我刚用编译器试过 。可以
c语言数组 兔子繁殖double a[100];
printf("第%d个月c语言兔子繁殖问题函数的兔子为c语言兔子繁殖问题函数:%0.2f\n", n, a[n-1]);
改一下
C语言编程:兔子繁殖问题思路不要乱 。这个月的兔子只有两个来源 , 一个来源是上个月的老兔子,另一个来源是这个月刚出生的兔子,而这个月刚出生的兔子 , 就是两个月前的所有兔子,因为两个月前的所有兔子 , 无论两个月前就是老的,还是两个月前刚生的,到了这个月就全部具有生育能力,每只都可以下一对儿,所以可以得到一个递推关系f(n) = f(n - 1)f(n - 2) 。那么程序自然是
long fun(int month)
{
if(month == 1 || month == 2)
return 1;
else
return fun(month - 1)fun(month -2);
}
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点 。
int main()
{
int Mon;
long Num;
scanf("%d",Mon);
Num = fun(Mon);
printf("第%d月共有兔子%ld只\n",Mon,Num);
return 0;
}
至于你的程序,很难把它改正确,因为这题压根不是那个思路,那样想会越想越乱的
C语言编程题目 兔子繁衍问题?方法一、用递归 。
方法二、把兔子定义成结构c语言兔子繁殖问题函数,每个兔子自带计时器变量c语言兔子繁殖问题函数,繁殖就是新建节点 , 构建结构链表 。每次循环遍历所有节点的计时变量大于3的就新建一个节点插入链表 。最后统计节点数量 。
c语言兔子繁殖问题函数我用方法1来写:
#include stdio.h
int childbirth(int bMth,int gMth)//bMth:调用时传0 , gMth:经过的最大月数
{
int cnt=0,n=bMth,num=2;
while(ngMth 1)
if(cnt2)
num=num childbirth(n,gMth 1);
return num;
}
int main()
{
int i,n;
printf("请输入经过多少月:"),scanf("%d",n);
for(i=1;i=n;i)
printf("经过%d个月后:兔子数量为:%d\n",i,childbirth(0,i));
return 0;
}
【c语言兔子繁殖问题函数 c语言编程题兔子生兔子】关于c语言兔子繁殖问题函数和c语言编程题兔子生兔子的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读