第六章循環(huán)結(jié)構(gòu)_第1頁(yè)
第六章循環(huán)結(jié)構(gòu)_第2頁(yè)
第六章循環(huán)結(jié)構(gòu)_第3頁(yè)
第六章循環(huán)結(jié)構(gòu)_第4頁(yè)
第六章循環(huán)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第六章循環(huán)結(jié)構(gòu)第一頁(yè),共四十八頁(yè),編輯于2023年,星期五6.1概述在實(shí)際問(wèn)題中,我們常常遇到需要重復(fù)處理的工作例如:求1—100的和,或求一個(gè)班英語(yǔ)成績(jī)的平均分一般來(lái)說(shuō)循環(huán)控制方法分兩種:(1)條件循環(huán)(while循環(huán)和do–while循環(huán))

條件滿足時(shí)執(zhí)行循環(huán),條件不滿足時(shí)結(jié)束循環(huán)(2)計(jì)數(shù)循環(huán)(for循環(huán))

先確定循環(huán)次數(shù),然后執(zhí)行循環(huán),完成循環(huán)次數(shù)后結(jié)束第二頁(yè),共四十八頁(yè),編輯于2023年,星期五6.3while語(yǔ)句2.執(zhí)行過(guò)程:(先判斷后執(zhí)行)先計(jì)算表達(dá)式的值,

值為真(非零)時(shí)執(zhí)行循環(huán)體,

值為假時(shí)結(jié)束循環(huán)格式:while(表達(dá)式)

循環(huán)體語(yǔ)句3.注意:(1)表達(dá)式必須用()括起來(lái)(2)循環(huán)體語(yǔ)句為多條語(yǔ)句時(shí),必須用{}把它們括起來(lái)(3)循環(huán)體語(yǔ)句中必須有使循環(huán)趨向結(jié)束的語(yǔ)句

A當(dāng)P成立AP成立不成立第三頁(yè),共四十八頁(yè),編輯于2023年,星期五例:在屏幕上打印7行星花

(此問(wèn)題是簡(jiǎn)單重復(fù)7次格式輸出操作)main({inti;i=1;

whlie(i<=7){printf(“\n********”);i++;}}運(yùn)行結(jié)果為:********************************************************第四頁(yè),共四十八頁(yè),編輯于2023年,星期五例:求1—100的和1+2+3+…+99+100=∑i(1<=i<=100)#include<stdio.h>voidmain(){inti,sum;sum=0;i=1;

while(i<=100){sum=sum+i;

i++;}printf(“sum=%d\n”,sum);}分析:需要幾個(gè)變量?

輸入,輸出分別是什么?

程序大體可分為幾個(gè)步驟?sum=0i=1i<=100?sum=sum+ii=i+1輸出sum的值第五頁(yè),共四十八頁(yè),編輯于2023年,星期五例:求1—n的和,n為任意正整數(shù)∑i(1<=i<=n)sum=0i=1i<=n?sum=sum+ii=i+1輸出sum的值輸入n#include<stdio.h>voidmain(){inti,sum,n;sum=0;i=1;

scanf(“%d”,&n);

while(i<=n){sum=sum+i;

i++;}printf(“sum=%d\n”,sum);}第六頁(yè),共四十八頁(yè),編輯于2023年,星期五例:計(jì)算x=1+3+5+7+9…+n#include<stdio.h>main(){ints;intn,i,x;scanf(“%d”,&n);i=1;x=0;while(i<=n){x=x+i;i=i+2;}printf(“x=%d\n”,x);}分析:題目是累加求和,只不過(guò)其累加項(xiàng)為等差遞增的奇數(shù)序列。第七頁(yè),共四十八頁(yè),編輯于2023年,星期五例:求某個(gè)班英語(yǔ)成績(jī)的平均分,該班學(xué)生人數(shù)和每個(gè)學(xué)生的成績(jī)由鍵盤輸入sum=0i=1i<=n?sum=sum+si=i+1輸出ave的值輸入n(n表示學(xué)生人數(shù))輸入s(s表示成績(jī))ave=sum/n#include<stdio.h>voidmain(){inti,n;

floats,sum,ave;

sum=0;i=1;scanf(“%d”,&n);while(i<=n){scanf(“%f”,&s);sum=sum+s;i++;}

ave=sum/n;

printf(“ave=%6.2f\n”,ave);}思路:先求所有學(xué)生的總成績(jī),再除以學(xué)生個(gè)數(shù)n,得學(xué)生的平均成績(jī)。第八頁(yè),共四十八頁(yè),編輯于2023年,星期五例:計(jì)算x=1+1/3+1/5+1/7+1/9…當(dāng)相加項(xiàng)的絕對(duì)值小于0.000001(即10–6)時(shí)停止計(jì)算#include<stdio.h>main(){ints;floatn,t,x;n=1;t=1;x=0;while(t>=1e-6){x=x+t;n=n+2;t=1/n;}printf(“x=%10.6f\n”,x);}分析:題目仍可以看成是累加求和,只不過(guò)其累加項(xiàng)為分母等差遞增的分?jǐn)?shù)。第九頁(yè),共四十八頁(yè),編輯于2023年,星期五例:編程求π的近似值,公式π/4≈1-1/3+1/5-1/7+1/9-…分析:題目仍可以看成是累加求和不同的是,相加的每一項(xiàng)正負(fù)相間,公式是無(wú)窮的,所以我們規(guī)定當(dāng)相加項(xiàng)的絕對(duì)值小于0.000001(即10–6)時(shí)停止計(jì)算#include<stdio.h>#include<math.h>voidmain(){ints;floatn,t,pi;s=1;n=1;t=1;pi=0;while(fabs(t)>=1e-6){pi=pi+t;n=n+2;s=-s;t=s/n;}

pi=4*pi;

printf(“pi=%10.6f\n”,pi);}tpins11-13-1/31010.671/551第十頁(yè),共四十八頁(yè),編輯于2023年,星期五6.4do-while語(yǔ)句不成立AP成立

當(dāng)P成立

A1.格式:do

循環(huán)體語(yǔ)句

while(表達(dá)式);2.執(zhí)行過(guò)程:(先執(zhí)行后判斷)先執(zhí)行循環(huán)體,然后計(jì)算表達(dá)式的值,若值為真則重復(fù)執(zhí)行循環(huán)體,若值為假則結(jié)束循環(huán)3.注意:(1)表達(dá)式必須用()括起來(lái)(2)循環(huán)體語(yǔ)句為多條語(yǔ)句時(shí),必須用{}把它們括起來(lái)(3)循環(huán)體語(yǔ)句中必須有使循環(huán)趨向結(jié)束的語(yǔ)句第十一頁(yè),共四十八頁(yè),編輯于2023年,星期五例:求1—100的和#include<stdio.h>voidmain(){inti,sum;sum=0;i=1;

do{sum=sum+i;i++;}while(i<=100);printf(“sum=%d\n”,sum);}sum=0i=1i<=100?sum=sum+ii=i+1輸出sum的值第十二頁(yè),共四十八頁(yè),編輯于2023年,星期五4.while循環(huán)和do-while循環(huán)的比較

whiledo-while(1)先判斷條件再執(zhí)行循環(huán)體先執(zhí)行循環(huán)體再判斷條件(2)循環(huán)體可能一次也不執(zhí)行至少執(zhí)行一次循環(huán)體#include<stdio.h>voidmian(){int

sum=0,i;

scanf(“%d”,&i);

while(i<=10){sum=sum+i;i++;}

printf(”%d\n”,sum);}#include<stdio.h>voidmian(){int

sum=0,i;

scanf(“%d”,&i);

do{sum=sum+i;i++;}while(i<=10);

printf(”%d\n”,sum);}若輸入的i小于等于10,則兩種循環(huán)的次數(shù)和結(jié)果一樣。若輸入的i大于10,則第一種情況一次循環(huán)也不執(zhí)行,但是第二種情況會(huì)執(zhí)行一次循環(huán)。第十三頁(yè),共四十八頁(yè),編輯于2023年,星期五6.5for語(yǔ)句1.格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語(yǔ)句2.執(zhí)行過(guò)程:(1)計(jì)算表達(dá)式1(2)計(jì)算表達(dá)式2,若值為真則執(zhí)行循環(huán)體,

再執(zhí)行第(3)步;若值為假則結(jié)束循環(huán)

(3)計(jì)算表達(dá)式3,再重復(fù)執(zhí)行第(2)步sum=0;i=1;while(i<=100){sum=sum+i;

i++;}sum=0;for(

i=1;i<=100;i++)

sum=sum+i;例:將1—100求和的while循環(huán)轉(zhuǎn)換為用for循環(huán)實(shí)現(xiàn)第十四頁(yè),共四十八頁(yè),編輯于2023年,星期五3.說(shuō)明(1)可以省略表達(dá)式1

sum=0;

for(i=1;i<=100;i++)sum=sum+i;i=1;(2)可以省略表達(dá)式3

sum=0;for(i=1;i<=100;i++)sum=sum+i;i++;{}(3)同時(shí)省略表達(dá)式1和表達(dá)式3sum=0;

i=1;for(;i<=100;)

{sum=sum+i;

i++;

}第十五頁(yè),共四十八頁(yè),編輯于2023年,星期五(4)表達(dá)式1,表達(dá)式3還可以是逗號(hào)表達(dá)式

for(sum=0,i=1;i<=100;sum=sum+i,i++);(5)表達(dá)式1,表達(dá)式3可以是與循環(huán)控制無(wú)關(guān)的其他表達(dá)式

i=1;for(sum=0;i<=100;sum=sum+i)i++;空語(yǔ)句(6)表達(dá)式2一般不會(huì)省略,若省略表達(dá)式2循環(huán)將不能停止,產(chǎn)生死循環(huán)。sum=0;for(i=1;;i++)

sum=sum+i;sum=0;i=1;for(;;){sum=sum+i;

i++;}i=1;while(1){sum=sum+i;i++;}第十六頁(yè),共四十八頁(yè),編輯于2023年,星期五例:求某個(gè)班英語(yǔ)成績(jī)的平均分#include<stdio.h>voidmain(){inti,n;floats,sum,ave;sum=0;

i=1;scanf(“%d”,&n);while(i<=n){scanf(“%d”,&s);sum=sum+s;

i++;

}ave=sum/n;printf(“%6.2f\n”,ave);}#include<stdio.h>voidmain(){inti,n;floats,sum,ave;sum=0;scanf(“%d”,&n);

for(i=1;i<=n;i++){scanf(“%d”,&s);sum=sum+s;}ave=sum/n;printf(“%6.2f\n”,ave);}第十七頁(yè),共四十八頁(yè),編輯于2023年,星期五例:設(shè)有一對(duì)新生的兔子,從第三個(gè)月開(kāi)始它們每個(gè)月都生一對(duì)兔子。按此規(guī)律,并假設(shè)沒(méi)有兔子死亡,一年后共有多少對(duì)兔子?人們發(fā)現(xiàn)每月的兔子數(shù)形成如下數(shù)列:

1,1,2,3,5,8,13,21,34,……并稱其為Fibonacci數(shù)列。觀察一下Fibonacci數(shù)列可以發(fā)現(xiàn)這樣一個(gè)規(guī)律:從第3個(gè)數(shù)開(kāi)始,每一個(gè)數(shù)都是其前面兩個(gè)相鄰數(shù)之和。這是因?yàn)?,在沒(méi)有兔子死亡的情況下,每個(gè)月的兔子數(shù)由兩部分組成:上個(gè)月的兔子數(shù)+這個(gè)月新生的兔子數(shù)。上個(gè)月的兔子數(shù)=其前一個(gè)數(shù);這個(gè)月新生的兔子數(shù)=上上月的兔子數(shù),即上上個(gè)數(shù)。因?yàn)樯蟼€(gè)月的兔子中還有一部分到這個(gè)月還不能生小兔子,只有上上月已有的兔子才能每對(duì)生一對(duì)小兔子。第十八頁(yè),共四十八頁(yè),編輯于2023年,星期五上面問(wèn)題的算法描述為:

fib1=fib2=1fibn=fibn-1+fibn-2 (n>=3) 迭代公式用C語(yǔ)言來(lái)描述為:

fib1=fib2=1;/*初始化fib1,fib2的值*/

i=3;fib

=fib1+fib2

;/*當(dāng)3<=i<=12時(shí)循環(huán)執(zhí)行*/fib1=fib2

;

fib2=fib;i++;第十九頁(yè),共四十八頁(yè),編輯于2023年,星期五例:求Fibonacci數(shù)列的前12個(gè)數(shù)

Fibonacci數(shù)列:1,1,2,3,5,8,13……#include<stdio.h>voidmain(){inti,f1,f2,f3;

f1=1;f2=1;printf(“%8d%8d”,f1,f2);

for(i=3;i<=12;i++){f3=f1+f2;f1=f2;f2=f3;printf(“%8d”,f3);if(i%4==0)putchar(‘\n’);}

}分析數(shù)列的規(guī)律:從第3個(gè)數(shù)開(kāi)始,每個(gè)數(shù)是其前兩個(gè)數(shù)之和f1f2f3112231235+第二十頁(yè),共四十八頁(yè),編輯于2023年,星期五6.6循環(huán)的嵌套1.循環(huán)的嵌套:一個(gè)循環(huán)體內(nèi)包含另一個(gè)完整的循環(huán)結(jié)構(gòu)2.按循環(huán)嵌套的層數(shù)分別稱為二重循環(huán),三重循環(huán)…3.C語(yǔ)言中while,do—while,for循環(huán)可以互相嵌套例:輸出由*組成的如圖所示的矩形************#include<stdio.h>voidmain(){printf(“***\n”);printf(“***\n”);printf(“***\n”);printf(“***\n”);}第二十一頁(yè),共四十八頁(yè),編輯于2023年,星期五#include<stdio.h>voidmain(){inti,j;i=1;while(i<=4){j=1;

while(j<=3){putchar(‘*’);j++;}putchar(‘\n’);i++;}}#include<stdio.h>voidmain(){inti,j;i=1;while(i<=4){for(j=1;j<=3;j++)putchar(‘*’);putchar(‘\n’);i++;}}注意:內(nèi)外層循環(huán)的控制變量不能重名,

但并列循環(huán)的控制變量無(wú)此限制第二十二頁(yè),共四十八頁(yè),編輯于2023年,星期五#include<stdio.h>voidmain(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=3;j++)putchar(‘*’);putchar(‘\n’);}}例:輸出如圖所示的直角三角形**********特點(diǎn):第i行有i個(gè)星號(hào)(左對(duì)齊)#include<stdio.h>voidmain(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=i;j++)putchar(‘*’);putchar(‘\n’);}}第二十三頁(yè),共四十八頁(yè),編輯于2023年,星期五例:輸出如圖所示的直角三角形**********特點(diǎn):第i行有5-i個(gè)星號(hào)(左對(duì)齊)#include<stdio.h>voidmain(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=5-i;j++)putchar(‘*’);putchar(‘\n’);}}第二十四頁(yè),共四十八頁(yè),編輯于2023年,星期五例:輸出如圖所示的直角三角形**********

特點(diǎn):第i行有i個(gè)星號(hào)(右對(duì)齊)#include<stdio.h>voidmain(){inti,j;for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++)putchar(‘’);

for(j=1;j<=i;j++)putchar(‘*’);putchar(‘\n’);}}第二十五頁(yè),共四十八頁(yè),編輯于2023年,星期五例:輸出如圖所示的直角三角形**********特點(diǎn):第i行有5-i個(gè)星號(hào)(右對(duì)齊)#include<stdio.h>voidmain(){inti,j;for(i=1;i<=4;i++){ for(j=1;j<=i-1;j++)putchar(‘’);

for(j=1;j<=5-i;j++)putchar(‘*’);putchar(‘\n’);}}第二十六頁(yè),共四十八頁(yè),編輯于2023年,星期五例:輸出如圖所示的等腰三角形

特點(diǎn):第i行有2*i-1個(gè)星號(hào)#include<stdio.h>voidmain(){inti,j,k;for(i=1;i<=4;i++){ for(j=1;j<=i-1;j++)putchar(‘’);

for(k=1;k<=5-i;k++)putchar(‘*’);putchar(‘\n’);}}****************第二十七頁(yè),共四十八頁(yè),編輯于2023年,星期五例:輸出如圖所示的菱形

*************************分析:將圖形分為上下兩個(gè)部分分別輸出上半部分(前4行)每行的星號(hào)個(gè)數(shù)是1,3,5,7,每行的空格個(gè)數(shù)是3,2,1,0下半部分(后四行))每行的星號(hào)個(gè)數(shù)是5,3,1每行的空格個(gè)數(shù)是1,2,3#include<stdio.h>voidmain(){inti,j,k;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)putchar(‘’);

for(k=1;k<=2*i-1;k++)putchar(‘*’);putchar(‘\n’);}for(i=3;i>=1;i--){for(j=1;j<=4-i;j++)putchar(‘’);

for(k=1;k<=2*i-1;k++)putchar(‘*’);putchar(‘\n’);}}第二十八頁(yè),共四十八頁(yè),編輯于2023年,星期五例:白錢買白雞一只公雞值五錢,一只母雞值三錢,三只小雞值一錢。問(wèn)一百錢買一百只雞,其中公雞、母雞以及小雞各多少只?定義變量公雞為cocks,母雞為hens,小雞為chicks,有下面公式成立:cocks+hens+chicks=100;5*cocks+3*hens+chicks/3=100由于100只雞共花去100錢,所以公雞的個(gè)數(shù)不會(huì)超過(guò)19只,母雞的個(gè)數(shù)不會(huì)超過(guò)33只,小雞的個(gè)數(shù)不會(huì)超過(guò)100只。第二十九頁(yè),共四十八頁(yè),編輯于2023年,星期五main(){intcocks,hens,chicks;

cocks=0;while(cocks<=19){hens=0;while(hens<=33){chicks=100–cocks–hens;if(5.0*cocks+3.0*hens+chicks/3==100.0)printf(“%d%d%d\n”,cocks,hens,chicks);

hens++;}

cocks++;}}第三十頁(yè),共四十八頁(yè),編輯于2023年,星期五main(){intcocks,hens,chicks;for(cocks=0;cocks<=19;cocks++){for(hens=0;hens<=33;hens++){chicks=100–cocks–hens;if(5.0*cocks+3.0*hens+chicks/3==100.0)printf(“%d%d%d\n”,cocks,hens,chicks);}}}第三十一頁(yè),共四十八頁(yè),編輯于2023年,星期五例:判斷一個(gè)數(shù)m是否為素?cái)?shù)。解題思路:讓m被2到√m之間的任一整數(shù)除,如果m能被2~√m之中的任何一個(gè)整數(shù)整除,則m不是素?cái)?shù),提前結(jié)束循環(huán),此時(shí)i必然小于或等于√m;如果m不能被2~√m之間的任一整數(shù)整除,則完成最后一次循環(huán),此時(shí)i=√m+1。在循環(huán)之后判別i的值是否大于或等于√m+1,若是,則表明未曾被2~√m之間的任一整數(shù)整除過(guò),因此是素?cái)?shù),輸出結(jié)果。例如m=17,讓i=2開(kāi)始,被m除,若能整除,則m一定不是素?cái)?shù);否則i加1,再被m除,若能整除,則m一定不是素?cái)?shù);否則再i加1,直到i=√17=4為止,若都不能被m整除,則m是素?cái)?shù),否則m不是素?cái)?shù)。第三十二頁(yè),共四十八頁(yè),編輯于2023年,星期五#include<math.h>/*程序?qū)崿F(xiàn)*/main(){intm,i,k;printf("\ninputanumber:");scanf("%d",&m);k=sqrt(m);

i=2;while((i<=k)&&(m%i!=0))i++;if(i>=k+1)printf("%disaprimenumber",m);elseprintf("%disnotaprimenumber",m);}第三十三頁(yè),共四十八頁(yè),編輯于2023年,星期五例:求100~200之間的全部素?cái)?shù)。在上面例題的基礎(chǔ)上,加一個(gè)for循環(huán)即可。#include<math.h>main(){intm,i,k,n=0;

for(m=100;m<=200;m++){k=sqrt(m);i=2;while((i<=k)&&(m%i!=0)) i++;

第三十四頁(yè),共四十八頁(yè),編輯于2023年,星期五if(i>=k+1) {printf("%d",m); n++; } if(n%10==0)/*輸出十個(gè)數(shù)換行*/ printf("\n");}}第三十五頁(yè),共四十八頁(yè),編輯于2023年,星期五6.8break語(yǔ)句和continue語(yǔ)句1.break語(yǔ)句:中止循環(huán)或switch結(jié)構(gòu)2.continue語(yǔ)句:結(jié)束本次循環(huán),然后再根據(jù)是否滿足條件來(lái)決定是否執(zhí)行下次循環(huán)P1真假語(yǔ)句1語(yǔ)句2P2真break;假P1真假語(yǔ)句1語(yǔ)句2P2真continue;假第三十六頁(yè),共四十八頁(yè),編輯于2023年,星期五for(r=1;r<=10;r++){s=3.14*r*r;if(s>100&&s<200)

break;printf(“s=%6.2f\n”,s);}

for(r=1;r<=10;r++){s=3.14*r*r;if(s>100&&s<200)

continue;printf(“s=%6.2f\n”,s);}s=3.14s=12.56s=28.26s=50.24s=78.50輸出:s=3.14s=12.56s=28.26s=50.24s=78.50s=200.96s=254.34s=314.00輸出:例:求半徑r從1到10的圓的面積,但不顯示面積值在100~200之間的數(shù)。第三十七頁(yè),共四十八頁(yè),編輯于2023年,星期五#include<math.h>/*循環(huán)中用break語(yǔ)句判斷m是否是素?cái)?shù)*/main(){intm,i,k;printf(“\ninputanumber:”);scanf(“%d”,&m);

k=sqrt(m);

for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1)printf(“%disaprimenumber”,m);elseprintf(“%disnotaprimenumber”,m);}第三十八頁(yè),共四十八頁(yè),編輯于2023年,星期五作業(yè):P120習(xí)題6.46.66.86.10思考題:1、若一頭小母牛,從第四個(gè)年頭開(kāi)始每年生一頭母牛。按此規(guī)律,第n年時(shí)總共有多少頭母牛?2、有100匹馬,馱100擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩匹小馬馱1擔(dān),問(wèn)有大、中、小馬各多少匹?第三十九頁(yè),共四十八頁(yè),編輯于2023年,星期五思考題1:人們發(fā)現(xiàn)每年牛的個(gè)數(shù)形成如下數(shù)列:1,1,1,2,3,4,6,9,13,19,28,42,……觀察一下數(shù)列可以發(fā)現(xiàn)這樣一個(gè)規(guī)律:從第4個(gè)數(shù)開(kāi)始,每一個(gè)數(shù)都是其上個(gè)數(shù)和上上上個(gè)數(shù)之和。1+1=2;1+2=3;1+3=4;2+4=6;3+6=9;…….這是因?yàn)?,在沒(méi)有死亡的情況下,每年牛的個(gè)數(shù)由兩部分組成:去年的牛數(shù)+今年新生的牛數(shù)。去年的牛數(shù)=其前一個(gè)數(shù);今年新生的牛數(shù)=大前年的牛數(shù),即上上上個(gè)數(shù)。因?yàn)槿ツ甑哪概V杏幸徊糠值浇衲赀€不能生小牛,只有大前年已有的牛才能生小牛。第四十頁(yè),共四十八頁(yè),編輯于2023年,星期五C語(yǔ)言描述為:n1=n2=n3=1;

從第四年開(kāi)始重復(fù)執(zhí)行下面語(yǔ)句:

n4=n3+n1;

今年的牛數(shù)=去年的牛數(shù)+大前年的牛數(shù)

n3=n4;n2=n3;n1=n2;1,1,1,2,3,4,6,9,13,19,28,42,……

n1n2n3n4

n1n2n3n4

n1n2n3n4

n1n2n3n4

n1n2n3n4

n1n2n3n4

n1n2n3n4i=4時(shí),n4=n1+n3=1+1=2;i=5時(shí),n4=n1+n3=1+2=3;i=6時(shí),n4=n1+n3=1+3=4;i=7時(shí),n4=n1+n3=2+4=6;……第四十一頁(yè),共四十八頁(yè),編輯于2023年,星期五

main()

{

intn1,n2,n3,n4,i,n;/*定義變量*/

n1=1;n2=1;n3=1;/*給變量賦初值*/

printf(“\ninputn”);/*顯示提示語(yǔ)句*/

scanf(“%d”,&n);/*從鍵盤讀入所求年數(shù)*/

printf(“%8d”,n1);/*將第一、二、三年的牛的

printf(“%8d”,n2);個(gè)數(shù)顯示在屏幕上*/

printf("%8d",n3);

程序?qū)崿F(xiàn):第四十二頁(yè),共四十八頁(yè),編輯于2023年,星期五for(i=4;i<=n;i++)/*從第四年開(kāi)始循環(huán)計(jì)算

{

n4=n1+n3;每年牛的個(gè)數(shù)*/

printf(“%8d”,n4);

if(i%4==0)/*四年為一行顯示*/

printf(“\n”);

n3=n4;/*將n1,n2,n3的值改變*/

n2=n3;

n1=n2;

}

}第四十三頁(yè),共四十八

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論