兔子生崽c語言
『壹』 兔子繁殖,c語言
#include<stdio.h>
intmain(void)
{
intn,i,a,b,c;
a=0;
b=1;
i=1;
printf("請輸入兔子對數n=");
scanf("%d",&n);
while(b<n){
c=a+b;/*while裡面一次循環是1個月*/
a=b;
b=c;
i++;
}
printf("至少%d月",i);
return0;
}
『貳』 兔子繁殖問題 C語言編程
根據題意,得出以下結果:
年份:0  0.5  1  1.5  2  2.5  3  3.5  4  ...
兔子:1   1   2   3   5   8   13  21  34...
序號: 0   1   2   3   4   5   6   7   8...
所以發現規律:除前兩個外,後面的則是等於前兩個的種即:A0=1,A2=1,An=A(n-1)+A(n-2)
這樣程序就可以開始編制了
#include "stdio.h"
main()
{
  int year,total,i,a1,a2;
  printf("\n請輸入多少年後:");
  scanf("%d",&year);
  a1=1;
  a2=1;
  for(i=2;i<2*year;i++)
  {
     if(i%2==1)
     {
       a1=a1+a2;
       total=a1;
      }else{
       a2=a1+a2;
       total=a2;
      }
   }
   printf("\n第%d年末總共會有%d對兔子",year,total);
 }
『叄』 c語言數組 兔子繁殖
double a[100]; 
printf("第%d個月的兔子為:%0.2f\n", n, a[n-1]);
改一下
『肆』 C語言程序設計 兔子產崽問題
#include <stdio.h>
main()
{
int i,tu1,tu2,tu3,m;
tu1=1;
tu2=1;
pringf("請輸入月份數(要求不大於24)");
scanf("%d",&m);
if(m==1||m==2)
{
printf("有一對兔子");
}
else if(m<2&&m<=24)
{
for(i=3;i<=m;i++)
{
tu3=tu1+tu2;
tu1=tu2;
tu2=tu3;
}
printf("%d月的兔子數為#d\n",m,tu3);
}
else
{
printf("月份書輸入不符合要求,程序結束\n");
}
}
『伍』 C語言編程:兔子繁殖問題
如圖,此題難度較大,要用到隊列(我優化為循環隊列)
 #include<stdio.h>
#include<stdio.h>
#defineLIFETIME13	//兔子壽命,單位半年(年齡小於此!)
#defineINITNUM1	//初始兔子有多少對
main()
{
	inthY=0;	//兔子歷(就是時刻表):單位:半年
	intnum[LIFETIME]={INITNUM,0};	//存儲不同年齡兔子的對數(初始為0歲1對)
//babyI下標代表0歲,往前年齡增大,越過數組下界跳到上界,所以babyI+1反而是最老兔子
	intbabyI=0;			//0歲兔子對應下標,年齡單位為半年
	intloveNum=0;			//可生育兔子數量
	inttotalNum=INITNUM;	//總計兔子數量
	intage1I=LIFETIME-2;	//1歲兔子對應下標(開始能生育)
	intage5_5I=LIFETIME-11;	//1歲、5.5歲兔子對應下標(剛好能生育、剛好不能生育年齡)
	intn=30;		//輸入n半年後!
	while(hY<=n){
		inti,j;	//遍歷臨時變數。①展示兔子數量。
		printf("第%.1f年	總計:%d對	可生育:%d對
",(float)hY/2,totalNum,loveNum);
		/*
		for(i=0;i<LIFETIME;i++){
			printf("%.1f歲	",(float)i/2);	//列印表頭
			//printf("%d,%.1f歲	",i,(float)(++i)/2);	//列印表頭
		}printf("單位:對
");	//換行*/
		i=babyI;	//顯示各年齡對應數量
		j=0;
		do{
			//printf("%d	",num[i]);
			if(hY<21){	//僅用於加	顯示
				if((++j)%2==0)printf("	");}
			printf("%d",num[i]);
			if(i>0)i--;		//下標循環往左移動
			elsei=LIFETIME-1;
		}while(i!=babyI);
		printf("
");		//換行
		//②半年後
		hY++;	//時間過去半年
		age1I=(age1I+1)%LIFETIME;	//1歲數量(對)對應下標
		age5_5I=(age5_5I+1)%LIFETIME;//5.5歲數量(對)對應下標
		//printf("%d,%d
",age1I,age5_5I);
		loveNum+=num[age1I]-num[age5_5I];	//可生育兔子數量(對)
		babyI=(babyI+1)%LIFETIME;		//新babyI設為原最老兔子的下標,
		totalNum+=loveNum-num[babyI];	//每對大兔子可以生一對小兔子-死亡的老兔
		num[babyI]=loveNum;	//老兔的位置換成新兔
	}
}
『陸』 C語言 兔子的繁殖問題(注意,就是按題目樣例要求輸入然後輸出,要一樣)
#include<stdio.h>
int main()
{
	int a[50];
	int i,t,n;
	a[0]=1;
	a[1]=1;
	for(i=2;i<50;i++)
        a[i]=a[i-1]+a[i-2];
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        printf("%d\n",a[n]);
    }
	return 0;
}
『柒』 C語言兔子繁殖問題
第一。。。定義為50是因為會用到45.一般都會定義大一點。
第二。。。怎麼可能會不可以運行。你就算2個都改成45也是可以用的。
你截圖上來。怎麼可能不可以。我剛用編譯器試過。可以
『捌』 C語言(兔子生兔子的問題)
啥白痴什麼的就不必了- -人都是一點一點學會的嘛~
1  
有一對兔子,三個月生一對兔子,那麼,1月:2個(1對);2月:2個(1對);3月:4個(2對);
兔寶寶不死,三個月生一對兔子,那麼,4月:4個(這里應該是6個(即3對),因為第4月時最開始的一對兔子還會繼續生。。);5月:4個(這里應該是10個(即5對),因為最開始的一對兔子與第3月出生的一對兔子,他們在第5月生了2對,在加上原來的,即5對。。)
以後同理。。。。。。。。。。。。。。。。(呃。。其實你就理解成斐波那契數列就行了。。)
2
if(i%2==0) printf("\n");/*控制輸出,每行四個*/
它其實就是一個顯示格式的問題。。i代表當前的月份數,一次PRINTF()輸出當前月份的兔子數。所以就是輸出4個數就換行。。。
『玖』 C語言兔子繁殖
#include<stdio.h>
void main()
{
int a,n,i;
scanf("%d",&i);
while(i--)
{
scanf("%d",&a);
if(a==1)
printf("1\n");
else if(a==2)
printf("2\n");
else if(a>2)
{
int b[100];
b[1]=1;
b[2]=2;
for(n=3;n<=100;n++)
{
b[n]=b[n-1]+b[n-2];
}
printf("%d\n",b[a]);
}
}
}
定義一般大一點。很正常。
『拾』 C語言兔子生崽的問題。求大神阿。在線等。
#include <stdio.h>
main()
{
  int i,tu1,tu2,tu3,m;
  tu1=1;
  tu2=1;
  printf("請輸入月份數");
  scanf("%d",&m);
  if(m==1||m==2)
 {
  printf("有一對兔子");
 }
  else if(m>2)
 {
  for(i=3;i<=m;i++)
  {
  tu3=tu1+tu2;
  tu1=tu2;
  tu2=tu3;
  }
  printf("%d月的兔子數為#d\n",m,tu3);
 }
 
}
