(完整word版)C語(yǔ)言編程復(fù)習(xí)_第1頁(yè)
(完整word版)C語(yǔ)言編程復(fù)習(xí)_第2頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余5頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、 【5.4 】求! +2! +3! + +10!的值 #include int main( void ) int f,i,j,s=0; for (i=1;i=10;i+) f=1; for (j=1;j=i;j+) f*=j; s+=f; printf( 1!+2!+3!+.+10!=%dn ,s); return 0; 【5.9 】求-2/3+3/5-4/7+5/9-6/11+ 的前項(xiàng) 之和 #include int main( void ) int a,i; /a :分子 double s=0; for (i=1;i=20;i+) if (i%2=0) a=-i; else a=i; s+

2、=1.0*a/(2*i-1); printf( =%.2lfn ,s); return 0; 【5.10 】求數(shù)列 1, 2, 3, 5, 8, 13, 21, 34 中第 25項(xiàng)的值 #include int main( void ) int a,b,i,f; a=1,b=2; for (i=3;i=25;i+) f=a+b; a=b; b=f; printf( =%dn ,f); return 0; 【5.13】輸出 20002100 年之間所有的閏年。符合 以下二者之一的年份是閏年: (1)能被整除,但不能被 100整除,如 2016( 2)能被 400整除,女口 2000 要求:每行輸

3、出 5項(xiàng) #include int main( void ) int year,n=0; for (year=2000;year=2100;year+) if (year%4=0&year%100!=0|year%400=0) printf( %6d,year); n+; if (n%5=0) printf( n); return 0; 【5.14】輸出所有的水仙花數(shù)。水仙花數(shù)是一個(gè)三 位正整數(shù),每位數(shù)字的三次方之和等于該數(shù)本身。 例如:1A3+5A3+3A3=153,153 是水仙花數(shù)。 #include int main( void ) int x,i,j,k; for (x=10

4、0;x=999;x+) i=x/100; j=x/10%10; k=x%10; if (x=i*i*i+j*j*j+k*k*k) printf( %5d ,x); printf( n); return 0; 【5.15】輸入若干整數(shù),以-1 結(jié)束,去掉最大值和 最小值,求平均值。 #include int main( void ) int x,max,min,n=0,sum=0; printf(輸入若干個(gè)數(shù),以-1結(jié)束:n); scanf( %d,&x); max=min=x; while (x!=-1) sum+=x; n+; if (maxx) min=x; scanf( %d,&

5、amp;x); if (n2) printf(平均值為: %.1lfn ,1.0*(sum-max-min)/(n-2); else printf(輸入的分?jǐn)?shù)個(gè)數(shù)小于n); return 0; 【5.16】輸入一行字符,統(tǒng)計(jì)英文字母、數(shù)字字符、 空格和其他字符的個(gè)數(shù)。 #include int main( void ) int n1=0,n2=0,n3=0,n4=0; char ch; printf(輸入一行字符:n); while (ch=getchar()!= n) if (ch=a &ch= A &ch= 0 &ch=9) n2+; else if (ch=) n

6、3+; else n4+; printf(英文字母?jìng)€(gè), 數(shù)字字符(個(gè), 空格 %(個(gè),其他字符 個(gè)。n ,n1,n2,n3,n4); return 0; 【5.18】根據(jù)公式n /41-1/3+1/5-1/7+ 求n 的近似值,絕對(duì)值小于 10A-5 的項(xiàng)不計(jì)算。 #include #include int main( void ) int a=1; double b=1,s=0; while (abs(a)/b=10e-5) s+=a/b; a=-a; b=b+2; printf( pi=%lfn ,s*4); return 0; 【5.21】輸入一個(gè)正整數(shù) n,求 n是幾位數(shù) includ

7、e int main( void ) int n,count=0; printf(輸入一個(gè)正整數(shù):n); scanf( %d,&n); while (n) n=n/10; count+; printf(是0位數(shù) n ,count); return 0; 【5.27】根據(jù)輸入的行數(shù)輸出圖案。 例如,輸入行數(shù)為 7,則 #include #include int main(void) int n,i,j; printf(” 輸入行數(shù):”); scanf(%d,&n); for(i=-n/2;i=n/2;i+) for(j=1;jv=abs(i);j+) printf(); for(

8、j=1;j=n-2*abs(i);j+) printf(*); printf(n); return 0; 【5.28】輸出 100以?xún)?nèi)的所有質(zhì)數(shù),每行輸出 5 個(gè) 質(zhì)數(shù) #include int main(void) int n,cou=0,i; for(n=2;n=100;n+) for(i=2;i=n_1;i+) if(n%i=0) break; if(i=n) printf(%6d,n); cou+; if(cou%5=0) printf(n); return 0; 【5.29】一百個(gè)銅錢(qián)買(mǎi) 100只雞,其中公雞一只 5 錢(qián),母雞一只 3錢(qián),小雞 1錢(qián)三只。問(wèn) 100只雞中 公雞母雞小雞

9、各多少只? #include int main(void) int x,y, z; for(x=0;x=100;x+) for(y=0;y=100;y+) for(z=0;z=100;z+) if(x+y+z=100& 15*x+9*y+z=300) printf( 公雞%d個(gè),母雞 %d個(gè),小雞 %d個(gè) n,x,y,z); return 0; 【6.1】輸入 10個(gè)數(shù)到數(shù)組 t 中,求最小值及最小 值在數(shù)組 t 中的下標(biāo) #include int main(void) int t10,i,mini; printf( 輸入 10 個(gè)數(shù):n); for(i=0;i10;i+) scanf

10、(%d, &ti); mini=0; for(i=1;i10;i+) if(titmini) mini=i; printf( 最小值為:%d,其下標(biāo) 為:%dn,tmini,mini); return 0; 【6.2】輸入 10個(gè)數(shù)到數(shù)組 t 中,再輸入 x,如果有 與 x相等的數(shù)組元素,輸出該元素的下標(biāo),否則輸 出-1 #include int main(void) int t10,x,i,flag=0; printf( 輸入 10 個(gè)數(shù):n); for(i=0;i10;i+) scanf(%d, &ti); printf(輸入 x:); scanf(%d,& x);

11、 for(i=0;i10;i+) if(x=ti) printf( 與 x相等的數(shù)組元素的下 標(biāo)是:%dn,i); flag=1; if(flag=0) printf(-1n); return 0; 【6.3】輸入 10個(gè)數(shù)到數(shù)組 t 中,按降序排序,輸 出排序結(jié)果 #include int main(void) int t1O,i,j,tmp; printf(” 輸入 10 個(gè)數(shù):n); for(i=0;i10;i+) scanf(%d, &ti); for(i=1;i10;i+) for(j=0;j10-i;j+) if(tjtj+1) tmp=tj; tj=tj+1; tj+1=

12、tmp; for(i=0;i10;i+) printf(%6d, ti); printf(n); return 0; 【6.7】求 3行 5列二維數(shù)組中的最小值,及最小 值在數(shù)組中的行號(hào)和列號(hào) #include int main(void) int a35,i,j,mini,minj; printf( 輸入 3行 5列數(shù)組:n); for(i=0;i3;i+) for(j=0;j5;j+) scanf(%d, &aij); mini=minj=0; for(i=0;i3;i+) for(j=0;jaij) mini=i; minj=j; printf( 最 小 值 : %d 最 小 值

13、 行 號(hào): %d 列 號(hào): %dn,aminiminj,mini,minj); return 0; 【6.8】 求 3行 5列二維數(shù)組中每列數(shù)組元素的最 小值,輸出。 #include int main(void) int a35,i,j,min; printf( 輸入 3行 5列數(shù)組:n); for(i=0;i3;i+) for(j=0;j5;j+) scanf(%d, &aij); for(i=0;i5;i+) min=a0i; for(j=1;jaji) min=aji; printf(%d 列最小值為:%dn,i,min); return 0; 【6.9】求 3行 5列二維數(shù)組

14、主對(duì)角線上元素之和 #include int main(void) int a33,i,j,sum=0; printf( 輸入 3行 3列數(shù)組:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d, &aij); for(i=0;i3;i+) sum+=aii; printf( 主對(duì)角線上元素只和 為:%dn,sum); return 0; 【6.11】不調(diào)用庫(kù)函數(shù) strcpy,將以下數(shù)組 si的 字符串復(fù)制到數(shù)組 s2中,并輸出 s2的字符串 Char s180,s280; Gets si; #include int main(void) int i

15、=0; char s180,s280; printf( 輸入一個(gè)字符串:); gets(s1); while(s1i!=0) s2i=s1i; i+; s2i=0; printf( 復(fù)制的字符串為:); puts(s2); return 0; 【6.14】輸出數(shù)組 s 中字符串的子串,子串從 sbegin開(kāi)始長(zhǎng)度為 len Char s80; Int begin ,len; Gets(s); Scanf( “ %d%d, &begin, &en); 【6.14】 #include int main(void) int i,begin,len; char s80; printf(

16、 輸入一個(gè)字符串:); gets(s); printf( 輸入子串的開(kāi)始位置及長(zhǎng)度:); scanf(%d%d,&begin,&l en); for(i=begin;ibegin+len;i+) printf(%c,si); printf(n); return 0; nf( “ %d%d, & begin, & en); 【7.3】編 4個(gè)程序,分別用 4種方法引用數(shù)組元 素,輸入 10個(gè)整數(shù),按升序排序,輸出排序結(jié)果 #include int main(void) int a10,*p,t,i,j; printf( 輸入 10 個(gè)整數(shù):n); for(p=a;

17、pa+10;p+) scanf(%d,p); for(i=0;i10;i+) p=a+i; for(j=i+1;j*(a+j) p=a+j; t=*p; *p=*(a+i); *(a+i)=t; for(p=a;pa+10;p+) printf(%5d,*p); printf(n); return 0; 【7.5】不調(diào)用庫(kù)函數(shù) strcpy,將 p指向的字符串 復(fù)制到數(shù)組 s中,并輸出數(shù)組 s 中的字符串。 Char s10,*p= ” Chinese ” ; #include int main(void) char s10,*p=Chinese; int i=0; while(*(p+i)!

18、=0) si=*(p+i); i+; si=0; puts(s); return 0; 【8.9 】一只函數(shù)頭為” int getgcd(int m,int n) ” 函數(shù)getgcd的功能:返回形參 m n的最大公約數(shù)。 編寫(xiě)并調(diào)用函數(shù) getgcd. #include int getgcd(int m,int n); int main(void) int a,b,c; printf(input 2 positive integers:); scanf(%d%d, &a,&b); c=getgcd(a,b); printf(%dn,c); return 0; int getg

19、cd(int m,int n) int gcd; if(mn) gcd=n; else gcd=m; while(m%gcd|n%gcd) gcd-; return gcd; 【8.10】已知函數(shù)頭為“ int prime ( int n ) ”, 函數(shù)prime的功能:如果 n是質(zhì)數(shù),返回 1;否則 返回 0.編寫(xiě)并調(diào)用函數(shù) prime輸出 100以?xún)?nèi)的所有 質(zhì)數(shù),每行輸出5 個(gè)質(zhì)數(shù) #include #include int prime(int n); int main(void) int a,b,c=0; for(a=1;a=100;a+) b=prime(a); if(仁=b) c+; printf(%3d,a); if(c%5=0) printf(n); return 0; int prime(int n) int i,m,flag=1; m=(int)(sqrt(n)+1); for(i=2;im;i+) if(n%i=0) flag=0; return flag; 【8.12 】已知函數(shù)頭為 “ int avg( int n,int) ”, 函數(shù) avg 的功能:去掉長(zhǎng)度為 n的一維數(shù)組 t 中的 最大值和最小值,計(jì)算并返回平均值,編寫(xiě)并調(diào)用 函數(shù) a

溫馨提示

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