假設一對兔子的成熟期是一個月,即一個月可長成成兔,那麼,如果每對成兔每個月都生一對小兔,一對新生的小兔從第二個月起就開始生兔子,試問從一對兔子開始繁殖,以後每個月會有多少對兔子?
程式程式碼
#include <stdio.h>
int main()
{
int i,tu1,tu2,tu3,m;
tu1=1;
tu2=1;
printf("請輸入月份數n");
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 月的兔子數為:%dn",m,tu3);
}
return 0;
}
偵錯執行結果
執行程式時,會提示輸入月份,當輸入 12 時,顯示這個月的兔子數目,執行結果如下所示:
請輸入月份數
12
12 月的兔子數為:144
總結
(1) 範例分析
迴圈的巢狀是指在一個迴圈體內又包含了另一個完整的迴圈。迴圈的巢狀執行過程是外迴圈執行一次,內迴圈執行一次,在內迴圈結束後,再執行下一次外迴圈,如此反復,直到外迴圈結束。
(2) 迴圈的巢狀注意事項:
① 迴圈必須完全包含內迴圈,不能交叉;
② 在多重回圈中,各層迴圈的迴圈控制變數不能同名;
③ 在多重回圈中,並列迴圈的迴圈控制變數名可以相同,也可以不同。