從鍵盤(pán)上連續(xù)輸入若干個(gè)字符_第1頁(yè)
從鍵盤(pán)上連續(xù)輸入若干個(gè)字符_第2頁(yè)
從鍵盤(pán)上連續(xù)輸入若干個(gè)字符_第3頁(yè)
從鍵盤(pán)上連續(xù)輸入若干個(gè)字符_第4頁(yè)
從鍵盤(pán)上連續(xù)輸入若干個(gè)字符_第5頁(yè)
已閱讀5頁(yè),還剩1頁(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)介

1、例6.1 從鍵盤(pán)上連續(xù)輸入若干個(gè)字符,并且以回車(chē)換行符作為結(jié)束標(biāo)志,統(tǒng)計(jì)字符的個(gè)數(shù),其中不包括回車(chē)鍵。#includemain() int n=0; char c; printf(input a string:n); while(getchar()!=n) n+; printf(number of characters=%d,n);例6.2 while語(yǔ)句實(shí)例九九表。輸出如下圖所示的下三角形乘法九九表1 2345678912 43 694 812165 10 15 20256 12 18 24 30367 14 21 28 35 42498 16 24 32 40 48 56649 18 27

2、 36 45 54 637281先找出圖形的規(guī)律;如果用i表示行,用j表示列,則第i行中輸出j個(gè)值,在第i行第j列位置上的值為i*j,為了得到下三角形的圖形,要求行列的關(guān)系滿足i=j時(shí)才輸出i*j的值。#includemain() int i=1,j; /*i為行計(jì)數(shù)器,j為列計(jì)數(shù)器*/ while(i=9) /*控制打印表頭*/ printf(%4d,i+); printf(n-n); i=1; while(i=9) j=1; /*列計(jì)數(shù)值置1*/ while(j=i) /*嵌套二重循環(huán)。輸出i行*/ printf(%4d,i*j); /*按寬度為4的格式輸出i*j*/ j+; printf

3、(n); /*一行輸出后,回車(chē)換行*/ i+; 例6.3 用do-while語(yǔ)句求1+2+3+100。main() int i,sum=0; i=1; do sum=sum+1; i+; while(i=100); printf(%d,sum);例6.4 用下列公式求p的近似值,直到最后一項(xiàng)的絕對(duì)值小于10-4為止。p/4=1-1/3+1/5-1/7+1/9本題仍為求和問(wèn)題,但加數(shù)項(xiàng)更為復(fù)雜。每項(xiàng)分母為奇數(shù),且相鄰項(xiàng)符號(hào)相反。設(shè)變量sum存放累加和,初值為0;i為分母,初值為1;s為符號(hào),初值為1。需要重復(fù)執(zhí)行的操作是:sum=sum+1/i*s;i=i+2; /*加2得到下一個(gè)奇數(shù)*/s=-

4、s; /*相鄰項(xiàng)符號(hào)取反*/最后一項(xiàng)絕對(duì)值小于10-4是循環(huán)控制條件,可以用如下表達(dá)式表示:fabs(1/i)=1e-4。當(dāng)循環(huán)結(jié)束后,再把sum乘4,得到p的近似值。main() int s; float i,sum; i=1.0; sum=0.0;s=1; do sum=sum+1/i*s; i=i+2; s=-s; while(fabs(1/i)=1e-4); printf(pi=%fn,sum*4);運(yùn)行結(jié)果:pi=3.141397例6.5 下面例子完成100個(gè)2相加。main() int i,sum=0; for(i=1;i=100;i+) sum=sum+2; printf(the

5、 sum is %d,sum);例6.6 從鍵盤(pán)上接收字符并顯示字符的個(gè)數(shù)。main() int i;char c; for(i=0;(c=getchar()!=n;i+) printf(the sum is %d,i); 運(yùn)行結(jié)果:abcdjuothe sum is 7例6.7 從鍵盤(pán)上輸入若干學(xué)生的成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入,統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī)。#includemain() float x,xmax,xmin; scanf(%f,&x); xmax=x; xmin=x; for(;x=0;) if(xxmax) xmax=x; if(xxmin) xmin=x; scanf(%f

6、,&x); printf(nxmax=%fnxmin=%fn,xmax,xmin);例6.8 編寫(xiě)一個(gè)程序,計(jì)算半徑為0.5mm,1.5mm,2.5mm,3.5mm,4.5mm,5.5mm的圓的面積。本例要求計(jì)算6個(gè)不同半徑的圓的面積,且半徑值的變化是有規(guī)律的,從0.5mm開(kāi)始按增1mm的規(guī)律遞增,因此可選擇半徑r做為循環(huán)控制變量,每循環(huán)一次,r增1直到大于5.5為止。程序如下:#include #define PI 3.14159main() float r,s; for(r=0.5;r5.5;r+=1) s=PI*r*r; printf(r=%f s=%fn,r,s); 例6.9 編寫(xiě)程序

7、求1!+2!+3!+4!,用循環(huán)嵌套實(shí)現(xiàn)。當(dāng)n分別取1,2,3,4時(shí),程序就可以分別計(jì)算出1!,2!,3!,4!。先將它們內(nèi)嵌到求和循環(huán)中,即可求得。程序如下:main() int i,n,p,s; s=0;n=1; while(n=4) p=1; for(i=1;i=n;i+) p=p*i; s=s+p; n+; printf(s=%dn,s);例6.10 使用二重for循環(huán),編寫(xiě)程序,打印如下平行四邊形圖案。 * * * *例6.11 break語(yǔ)句的使用。程序如下:main() int i; for(i=0;i100;i+) printf(%d,i); if(i=10) break; 例

8、6.12 求下面程序中,while循環(huán)的循環(huán)次數(shù)是多少?main() int i=0; while(i10) if(i1) continue; if(i=5) break; i+; 例6.13 以下程序功能是輸出120之間能被3整除的數(shù)。main() int i,j; for(i=1;i=20;i+) if(i%3!=0) continue; printf(%d,i); 運(yùn)行結(jié)果:3,5,9,12,15,18例6.14 用一角人民幣換1分,2分和5分硬幣,共有多少種換法。根據(jù)題義設(shè)i,j,k分別為兌換的1分,2分,5分硬幣所具有的錢(qián)數(shù),則i,j,k的值應(yīng)該滿足:i+j+k=10程序如下:#in

9、cludemain() int i,j,k,count; printf(there are following small exchange plans for 1 jiao note:n); for(i=0;i=10;i+) for(j=0;j=10-i;j+=2) for(k=0;k=10-i-j;k+=5) if(i+j+k=10) printf(%d:1*%d+2*%d+5*%dn,+count,i,j/2,k/5);運(yùn)行結(jié)果:there are following small exchange plans for 1 jiao note:1:1*0+2*0+5*22:1*0+2*5+

10、5*03:1*1+2*2+5*14:1*2+2*4+5*05:1*3+2*1+5*16:1*4+2*3+5*07:1*5+2*0+5*18:1*6+2*2+5*09:1*8+2*1+5*010:1*10+2*0+5*0例6.15 已知一首項(xiàng)大于0的等差數(shù)列的前4項(xiàng)和為26。前4項(xiàng)的積為880,求這個(gè)數(shù)列。設(shè)數(shù)列的第一項(xiàng)為a,公差為d。則該數(shù)列滿足的條件為:a+(a+d)+(a+2*d)+(a+3*d)=4*a+6*d=26a*(a+d)*(a+2*d)*(a+3*d)=880則可推算出a和d的范圍為:1=a=51=d=3程序?qū)崿F(xiàn)如下:#includemain() int a,b,c,d,i;

11、for(a=1;a=5;+a) for(d=1;d=3;+d) b=a+(a+d)+(a+2*d)+(a+3*d); c=a*(a+d)*(a+2*d)*(a+3*d); if(b=26&c=880) goto out; out:for(i=0;i=20;+i) printf(%d,a+i*d); printf(n);運(yùn)行結(jié)果:2,5,8,11,14,17,20,23,26,29,32,35,38,41,47,50,53,56,59,62例6.16 求3個(gè)數(shù)的最小公倍數(shù)。例如,給變量x1,x2,x3分別輸入15,11,2,則輸出的結(jié)果應(yīng)該是330。#includemain() int x1,x2,x3,j; int t=m=n=1; int p=0; printf(In

溫馨提示

  • 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)論