C語言必背18個經(jīng)典程序_第1頁
C語言必背18個經(jīng)典程序_第2頁
免費預(yù)覽已結(jié)束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

1、C語言必背18個經(jīng)典程序1、八輸出9*9口訣。共9行9列,i控制行,j控制列。*/#includcustdio.hMmain()int ijjesult;for (i=l;i10:i+) for(j=l;j10;j+)result=i*j; printf(H%d*%d=%-3d,iJ,result)y*.3d表示左對齊,占3位*7 printf(HnH);/*每一行后換行*/2、八古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三 個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?兔子的規(guī)律為數(shù)列1,123,5,8,13,21.*/main()long

2、 fl,f2;int i;fl=f2=l;for(i=l;i=20;i+) printf(n%121d%121dM,fLf2);if(i%2=0) printf(Mirr)y*控制輸出,每行四個*/fl=fl+f2; /*前兩個月加起來賦值給第三個月*/f2=fl+f2; /*前兩個月加起來賦值給第三個月*/3、八判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)及素數(shù)的個數(shù)。程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除, 則表明此數(shù)不是素數(shù),反之是素數(shù)。*/include,math.hMniain()int m.i,kh=0.1cap=l;printf(Hn

3、u);for(m= 101:m=200;m+) k=sqrt(m+l);for(i=2;i=k;i+)if(m%i=0)Ieap=O:brcak:)if(leap)/*內(nèi)循環(huán)結(jié)朿后,leap依然為1,則m是素數(shù)*/printf(n%-4d,m);h+:if(h%10=0)printf(MnH);leap=l;printf(nThe total is %d,h);4、戶一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù) S 例如6=14-2+3.編程找出1000以內(nèi)的所有完數(shù)。*/main()static int k10;int i,j,n,s;for(j=2;j1000;j+)1=1;S=j;

4、for(i=l;ij;i+)if(j%i)=O) n卄;s=s-i;kn=i;if(s=O)printf(M%d is a wanshu:HJ);for(i=0;in;i+)printfC%d;ki);printf(M%dnkn);5、戶下而程序的功能是將一個4X4的數(shù)組進行逆時針旋轉(zhuǎn)90度后輸出,要求原始數(shù)組的 數(shù)據(jù)隨機輸入,新數(shù)組以4行4列的方式輸出,請在空白處完善程序。*/inain() int a44.b44,i,j;/*a存放原始數(shù)組數(shù)據(jù),b存放旋轉(zhuǎn)后數(shù)組數(shù)據(jù)*/printf(Hinput 16 numbers:M);/*輸入一組數(shù)據(jù)存放到數(shù)組a中,然后旋轉(zhuǎn)存放到b數(shù)組中*/for(

5、i=0;i4;i+)for(j=0;j4;j+) scanf(H%d,&aij);b3-ji=aiUJ;printf( array b:nH);for(i=0;i4;i+) for(j=0;j4;j卄)printf(,fnH);6、戶編程打印直角楊輝三角形勺inain()int i,j,a66;for(i=0;i=5;i+)a(ii=l;aiO=l;for(i=2;i=5;i+)for(j=l;j=i-l;j+)aiUl=ai-lU+ai-lU-l;for(i=0;i=5;i+)(for(j=0;j=i;j+)printf(,%4d,aij);printf(HnM);7、戶通過鍵盤輸入

6、3名學(xué)生4門課程的成績,分別求每個學(xué)生的平均成績和每門課程的平均成績。要求所有成績均放入一個4行5列的數(shù)組中,輸入時同一人數(shù)據(jù)間用空格,不同人用回車 其中最后一列和最后一行分別放每個學(xué)生的平均成績、每門課程的平均成績及班級總平均 分。*/#includc #includc main() float a45,suml,sum2;int i,j;for(i=0;i3;i+)for(j=0;j4;j+)scanf(H%f&aij);for(i=0;i3;i+) sum 1=0;for(j=0;j4;j+)suml+=aij;ai4=suml/4;for(j=0;j5;j+)sum2=0:fo

7、r(i=0;i3;i+)sum2+=a|ij;a3j=sum2/3;for(i=0;i4;i+)for(j=0;j5;j卄)printf(M%6.2fai|j);printf(,nH);8、戶完善程序,實現(xiàn)將輸入的字符串反序輸出, 如輸入windows輸出swodniw, */ includemain() char c2OO.cl;int i,j,k;printf(HEnter a string: ”);scanf(,%s,c);k=strlen(c);for (i=OJ=k-l ;ik/2;i+J-) cl=ci;ci=cU;cj=cl; printf(M%snH,c);指針法:void i

8、nvert(char *s)int i,j,k;char t;k=strlen(s);for(i=Oj=k-l ;ivk/2:i+.j-) t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; ) niain() FILE *fp;char str2OO,*p4j;if(fp=fopcn(,p9_2.outH/,w,)=NULL) printf(Mcannot open the filcn”);exit(O);printf(Hinput str:nM);gets(str);pnntff n%sstr);fpniitf(fy/%sstr);invert(str);pnntfCn%

9、s:str);fnntf(仗n%s:str);fclose(fp);)9、 八下而程序的功能是從字符數(shù)組s中刪除存放在c中的字符。*/#includc niain() char s80,c;int j,k;printf(MiiEnter a string:H);gets(s);printf(MnEnter a character:H);c=getchar();for(j=k=0;sj!=、0為+)if(sj!=c)sk+=sj;sk=printf(Hn%s,s);)10、 /*編寫一個void sort(int *x,int n)實現(xiàn)將x數(shù)組中的n個數(shù)據(jù)從大到小排序。n及數(shù)組元素在主函數(shù)中輸入

10、。將結(jié)果顯示在屏幕上并輸出到文件p9_l.out中*/#includevoid sort(int *x,int n)intfor(i=0:in-l;i+)k=i;for(j=i+l;jxk) k=j;if(k!=i)xi=xk;xk=t:void inain()FILE *fp;int *pXa10;fp=fopen(Hp9_l.outM;,wH);p=a;printf(NInput 10 numbers:”);for(i=0:i10;i+)scanf(,%d,p+);p=a;sort(pJO);for(:px) ai+l=ai; i-;/*將比x大的數(shù)往后移動一個位置=*7a+i=x;j+;

11、/*插入X后元素總個數(shù)增加*/for(i=l;i=j;i+) printfC%8cr,ai);printf(AnH);12、/*編寫函數(shù)replace(char *s,char cl,char c2)實現(xiàn)將s所指向的字符串中所有字符cl用c2替換, 字符串、 字符cl和c2均在主函數(shù)中輸入, 將原始字符串和替換后的字符串顯 示在屏幕上,并輸岀到文件plO_2.out中*/# includereplace(char *s,char cl,char c2) while(*s!=r) if(*s=cl)*s=c2;s+;main() FILE *fp;char strflOOJ.a.b;if(fp=

12、fopen(HplO_2.out,MwM)=NULL) printf(Hcannot open the filenM);exit(O);printfCEnter a string:nH);gets(str);printf(HEnter a&b:nH);scanf(M%c,%cH.&a、&b);printf(M%sn,str);fprintf(fp,N%snM,str);replace(str.a.b);printf(The new string is-%sn,str);fprintf(fp,HThe new string is-%sn*str);fclose(fp);1

13、3、 /*在一個字串si中查找一子串s2,若存在則返回子串在主串中的起始位置,不存在則返回-1。*/main()char sl6=,thisis,;char s25=,isN;printf(H%dnH,search(sl ,s2);system(HpauseM);int search(char sl.char s2J)int i=OJJen=strlen(s2);while(sli)for(j=0;j=len)return i;else i+;return -1;14、 /*用指針變量輸出結(jié)構(gòu)體數(shù)組元素。*/struct studentint num:char *name;char sex;i

14、nt age;stu5=1001/lihuaVF18, 1002;,liuxingH:M19)41003huangkc:FJ9, 1004,fcng shoiTTF,19, 1005JWangming;M;18;main()(int i;struct student *ps;printf(,NumtNametttSextAgetnH);戶用指針變量輸岀結(jié)構(gòu)體數(shù)組元素。*/for(ps=stu;psnum.ps-name.ps-sex,ps-age);戶用數(shù)組下標(biāo)法輸岀結(jié)構(gòu)體數(shù)組元素學(xué)號和年齡。*/for(i=0;inunLp-name.p-age);p=p-next;whilc(p!=NULL

15、);16、 /*輸入一個字符串,判斷其是否為回文?;匚淖址侵笍淖蟮接易x和從右到左讀 完全相同的字符串。*/#include # include # includemain() char s100;int i,j,n;printf(輸入字符串:n”);gets;n=strlen(s);for(i=0.j=n-l ;i=j) printf(是回文串n);elseprintf(u不是回文串n”);17、 /*冒泡排序,從小到大,排序后結(jié)果輸岀到屏幕及文件myf2.out*/# includevoid fun(int a,int n)int ijj;for(i=0;i=n-l;i+)for(j=0

16、;jaU+1 ) t=aU;aUJ=aj+1 ;aj+1 =t;main()int a10= 12.457&96410,4&2.46,n=10.i;FILE *f;if(f=fopen(,myf2.outH;,wH)=NULL)printf(Hopen file myf2.out failed!nH);fun(aJO);for(i=0;i10;i+)printf(H%4d,ai);fprintf(f;,%4d,ai);fclose(f);18、編寫函數(shù)countpi,利用公式兀(1121231234Q 1 + + X + X X + X X X +23353573579計算的近似值,當(dāng)某一項的值小于10$時,認(rèn)為達到精度要求,請完善函數(shù)。將結(jié)果顯示 在屏幕上并輸出到文件p7_3.out中。# includedouble countpi(double eps)/*eps為允許誤差*/int m=l;double te

溫馨提示

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

評論

0/150

提交評論