c語言經(jīng)典案例教學文稿_第1頁
c語言經(jīng)典案例教學文稿_第2頁
c語言經(jīng)典案例教學文稿_第3頁
c語言經(jīng)典案例教學文稿_第4頁
c語言經(jīng)典案例教學文稿_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。c語言經(jīng)典案例-1、用篩選法求100之內(nèi)的素數(shù)。#includevoidmain()intnum100,i,j;for(i=0;i100;i+)numi=1;for(i=2;i=10;i+)for(j=2;i*j=100;j+)numi*j-1=0;printf(0至100內(nèi)素數(shù)有:n);for(i=j=0;i100;i+)if(numi=1)printf(%-4d,i+1);if(+j%4=0)printf(n);2、用選擇法對10個整數(shù)排序。#includevoidmain()intnum10,n,

2、i,j,t,k;printf(請輸入十個整數(shù):);for(n=0;n10;n+)scanf(%d,&numn);for(i=0;i9;i+)k=i;for(j=i+1;j10;j+)if(numknumj)k=j;if(k!=i)t=numi;numi=numk;numk=t;printf(從大到小排序為:);for(n=0;n10;n+)printf(%d,numn);3、求一個3*3的整型二維數(shù)組對角線元素之和。#includevoidmain()intnum33,i,j;printf(輸入二維數(shù)組:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&numi

3、j);printf(兩對角線和分別為%d和%dn,num00+num11+num22,num02+num11+num20);5、將一個數(shù)組中的值按逆序重新存放。#include#include#includevoidmain()intnum100,n,i,temp;srand(time(0);n=rand()%100+1;printf(生成數(shù)組長度為%dn生成的數(shù)組:n,n);for(i=0;in;i+)numi=rand()%100;printf(%-3d,numi);printf(n數(shù)組逆序存放后排列為:n);for(i=0;in/2;i+)temp=numi;numi=numn-1-i;

4、numn-1-i=temp;for(i=0;in;i+)printf(%-3d,numi);printf(n);6、輸出以下的楊輝三角形(要求輸出10行)。1111211331#includevoidmain()intnum1010,i,j;for(i=0;i10;i+)for(j=0;j10;j+)if(j-10|j=i)numij=1;elsenumij=numi-1j-1+numi-1j;printf(%-4d,numij);if(j=i)break;printf(n);7、輸出“魔方陣”。所謂魔方陣是指這樣的方陣,它的每一行、每一列和對角線之和均相等。例如,三階魔方陣為81635749

5、2#includevoidmain()intn,i,j,k;printf(輸入奇數(shù)階魔方陣的階數(shù):);scanf(%d,&n);k=(5*n-1)/2;for(i=0;in;+i)for(j=0;jn;j+)printf(%-4d,(k-i+j)%n*n+(k-i-j-1)%n+1);printf(n);9、有15個數(shù)按由大到小順序存放在一個數(shù)組中,輸入一個數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個元素的值。如果該數(shù)不在數(shù)組中,則輸出“無此數(shù)”。#include#include#includevoidmain()intnum15,n,t=0,left,right,middle,key;sran

6、d(time(0);printf(數(shù)組為n);for(n=14;n=0;n-)t=numn=rand()%10+(t+1);for(n=0;n15;n+)printf(%-4d,numn);printf(n請輸入要查找的數(shù):);scanf(%d,&key);left=0;right=14;while(left=right)middle=(left+right)/2;if(key=nummiddle)t=-1;break;if(keynummiddle)left=middle+1;elseright=middle-1;if(t=-1)printf(該數(shù)是數(shù)組中第%d個元素的值n,middle+1

7、);elseprintf(無此數(shù)n);11、輸出以下圖案:*#includevoidmain()charasterisk=*,space=;inta,b;for(a=0;a5;a+)for(b=0;ba;b+)printf(%s,space);printf(%sn,asterisk);12、有一行電文,已按下面規(guī)律譯成密碼:第1個字母變成第26個字母,第i個字母變成第(26-i+1)個字母。非字母字符不變。要求編程序?qū)⒚艽a譯回原文,并輸出密碼和原文。#include#includevoidmain()charch,code100;intn=0;printf(請輸入密碼:);while(ch=g

8、etchar()!=n)if(n=0)printf(密碼n);printf(%c,ch);if(isupper(ch)coden+=(26-ch+65+64);if(islower(ch)coden+=(26-ch+97+96);if(!isalpha(ch)coden+=ch;coden=0;printf(n原文n%sn,code);13、編一個程序,將兩個字符串連接超來,不要用strcat函數(shù)。#include#includevoidmain()chara2100;puts(輸入字符串:);gets(a0);gets(a1);inti=0;while(a0i!=0)i+;strcpy(&a

9、0i,a1);puts(連接后字符串:);puts(a0);14、編一個程序,將兩個字符串s1和s2比較,若s1s2,輸出一個正數(shù);若s1=s2,輸出0;若s1s2,輸出一個負數(shù)。不要用strcpy函數(shù)。兩個字符串用gets函數(shù)讀入。輸出的正數(shù)或負數(shù)的絕對值應是相比較的兩個字符串相應字符的ASCII碼的差值。#includevoidmain()chara2100;puts(輸入字符串:);gets(a0);gets(a1);for(inti=0,n=0;a0i!=0&a1i!=0;i+)if(a0i!=a1i)n=a0i-a1i;break;printf(%dn,n);15、編寫一個程序,將字

10、符數(shù)組s2中的全部字符復制到字符數(shù)組s1中。不用strcpy函數(shù)。復制時,0后面的字符不復制。#include#includevoidmain()chara2100;puts(輸入字符串:);gets(a0);gets(a1);a00=0;strcat(a0,a1);puts(復制后字符串:);puts(a0);從1累加到100#includemain()inti,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(sum=%dn,sum);求1!+2!+n!:#includeVoidmain()doublefac,sum=0;Inti,n;fac=1;i=1;sc

11、anf(“%d”,&n);while(i=n)fac=fac*I;i+;sum=sum+fac;printf(“%lf”,sum);求1-3+5-7+。+101的值#include#includeVoidmain()inta,I,j,sum=0;i=1;j=2;while(1=101)sum=sum+i*power(-1,j);i=i+2;j+;printf(“%dn”,sum);求1*2*3*100#includemain()inti,sum;i=1,sum=1;while(i101)i+;sum=sum*i;printf(sum=%dn,sum);水仙花數(shù):#includemain()in

12、ta,b,c,num;for(a=1;a10;a+)for(b=0;b10;b+)for(c=0;c10;c+)if(a*100+b*10+c=(num=a*a*a+b*b*b+c*c*c)printf(%d,num);從1到1000的素數(shù):#includestdio.hvoidmain()intf(intn);inti,k=0;for(i=1;i=1000;i+)if(!f(i)printf(%5d,i);k+;if(k%15=0)printf(n);getch();intf(intn)intj;for(j=2;j=n)return0;elsereturn1;最大公約數(shù)和最小公倍數(shù):#includeVoidmain()intm,n,I,j;Scanf(“m=%d,n=%d”,&m,&n);For(i=m;i=1;i-)If(m%i=0&n%i=0)Break;for(j=m;j=m*n;j+)i

溫馨提示

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

評論

0/150

提交評論