天天看點

c 語言程式設計練習,c語言程式設計練習題

《c語言程式設計練習題》由會員分享,可線上閱讀,更多相關《c語言程式設計練習題(25頁珍藏版)》請在人人文庫網上搜尋。

1、精選文庫1. 從鍵盤輸入一個大寫字母,要求改用小寫字母輸出,并輸出與這個小寫字母相鄰的兩個 字母及它們的ASCII碼的值樣例輸入:樣例輸出:98 97 99測試輸入:測試輸出:100 99 101#include int main() char s1,s2,s3;int a,b,c;scanf(%c,&s1);s1=s1+32;s2=s1-1;s3=s1+1;a=s1;b=s2;c=s3;printf(%c %c %cn,s1,s2,s3); printf(%d %d %dn,a,b,c); return 0;max=52. 輸入兩個整數,并将其中較大的顯示出來。 樣例輸入: 樣例輸出:2 8。

2、max=8測試輸入:測試輸出:#include int main() int a,b,max=0; scanf(%d%d,&a,&b);max=a;if(a int mai n()int a3,i,j,t; for(i=0;iaj)t=ai; ai=aj;aj=t;prin tf(%dn,a0); return 0;2004 2294. 輸入年号y,月份m,輸出該年該月天數。 樣例輸入: 樣例輸出:2015 228測試輸入:測試輸出:#in clude int mai n()int y,m;scan f(%d%d, &y,& m);switch(m)case 1:prin tf(30n);br。

3、eak;case 2:if(y%4=0& y%100!=0)|(y%400=0) prin tf(29n);elseprin tf(28n);break;case 3:prin tf(31n);break; case 4:prin tf(30n);break; case 5:prin tf(31n);break; case 6:prin tf(30n);break;case 7:case 8:prin tf(31n);break; case 9:prin tf(30n);break;case 10:prin tf(31n);break; case 11:prin tf(30n);break;c。

4、ase 12:prin tf(31n);break;return 0;5. 輸入若幹非0整數,直到輸入0時停止,要求輸入的整數最多不超過20個,統計其中正負數的個數。5 4 8 -2 6 -9 7 3 -1 9 0posn=7,negn=3數的個數, 樣例輸入: 樣例輸出:測試輸入:測試輸出:9 -8 2 -6 8 6 -7 -3 1 -5 0 posn=5,negn=5#in cludeint mai n()int a20, n=O,c=O,b=O,i; while(getchar()!=O) for(i=0;i0) c=c+1;if(ai int mai n()int m,i,flag=1。

5、;scan f(%d,&m);for(i=2;iint mai n()int i,n,j;sca nf(%d,&n);for(i=0;i int mai n()int a10,i,j,t;for(i=0;iaj) t=ai; ai=aj; aj=t;for(i=0;i int mai n()char s100;int i,n=0;gets(s);for(i=0;si!=0;i+)if(si=) si=n;n+;s n=0;puts(s);return 0;4位小數)10. 輸入六個雙精度的數,求出其中負數的平均值(保留#in clude int mai n()double a6 ,n=0,s=。

6、0,m; int i;for(i=0;iint mai n()int a100;int i;double m,n=0,s=0,ave;for(i=0;i int mai n()char s100,s2100,t; int i,n ,j=0,q;gets(s);for(i=0;si!=0;i+)if(i%2)!=0)s2j=si; j+;s2j=0;for(i=0;is2q)t=s2i; s2i=s2q; s2q=t; puts(s2); return 0;k, n為十進制數字,将其轉換為 k進制輸出(k為大于等于2小于等于9的13.輸入一個n, 整數).#in clude int mai n(。

7、)int n,k,m,t,s,i;int a100;sca nf(%d%d,&n,&k);m=n;t=n;for(i=0;i=0;i-)prin tf(%d,ai);prin tf(n);return 0;14.輸入一個字元串,将其奇數下标的字元移動到下一個奇數下标的位置。最後一個奇數 位上的數字平移到第一個奇數下标處。#in cludeint mai n()char s100,a100; int i,j=0,q=0; gets(s);for(i=0;si!=0;i+) if(i%2)!=0)aj=si; j+;aj=0;j=0;for(i=0;si+2!=0;i+)if(i%2)!=0)si。

8、+2=aj; j+;si+2=0;s1=aj;puts(s); return 0;15.編寫程式,從鍵盤輸入一個字元串,并将字元串中的小寫字母都改為相應的大寫 字母,其他字元不變。标準輸入:23efHI4why80NO标準輸出:23EFHI4WHY80NO#in clude int mai n()char s100;int i;gets(s);for(i=0;si!=0;i+)if(si=a&si int mai n()char ss100;int i;gets(ss);for(i=0;ssi!=0;i+)if(i%2)=0)if(ssi=A&ssi void fun(char s1,char。

9、 s2) int i,j,q;for(i=0;s1i!=0;i+)for(j=i,q=0;s2q!=0;j+,q+) s1j=s2q;s1j=0; int mai n()int n;char s100100;int i,j;scanf(%dn ,&n); for(i=0;i int mai n()int m;double t=0,n,q=-1,i; scan f(%d,&m); for(i=1;iint mai n()char str100,s100;int i,j;gets(str);for(i=0,j=0;stri!=0;i+)if(stri=a&stri=A&striint mai n(。

10、)int n;int a,b,c;scan f(%d,&n);a=n %10;b=n/10%10;c=n/100;if(a+c=b)prin tf(yes!n);elseprin tf( no!n);return 0;21.編寫一個程式,輸入一個5X5的二維數組a,實作:使數組對角線及右上半 三角元素中的值全部置成0。注意每個數字後都有空格,每行輸出都有換行 标準輸入:1 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 5标準輸出:0 0 0 0 011110 0 0 02 0 0 02 3 0 02 3 4 0#in clude int mai n()in。

11、t a55;int i,j;for(i=0;ii) aij=0;for(i=0;iint mai n()int n,i;double a100,s=0,ave; scan f(%d,&n);for(i=0;iint mai n()int a100,b100;intn ,j,i, p;scan f(%d,&n);for(i=0;i int mai n()int a100,b100;int n,j,i, p; scan f(%d,&n); for(i=0;iint mai n()char str1100,str12100;int i,j;gets(str1);for(i=0,j=0;str1i!=。

12、0;i+)if(i%2=0)str12j=str1i;j+;str12j=0;p uts(str12);return 0;編寫程a 為結果為26. )編寫一個程式,程式定義一個5*5二維數組,二維數組題目中給出, 序,求數組周邊元素的平方和。數組0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1求出310.樣例輸出占2行,1行為整形資料,其值為平方和,另一行為回車符。标準輸入 0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1标準輸出310#in cludeint mai n()。

13、int a55;int i,j,s=O;for(i=0;iint mai n()int a33;int i,j,s=1;for(i=0;i int mai n()char s100,a100; int i,n ,j,q;gets(s);for(i=0;si!=0;i+)n=i;for(i=n-1,j=0,q=1;i=0;i-) if(q%2)!=0)aj=si;j+;q+;elseq+;aj=0;for(i=j-1;i=0;i-)prin tf(%c,ai);prin tf(n);return 0;29.鍵盤輸入兩個正整數m和n,在螢幕上輸出m和n的所有公約數與各公約數之和#in cludei。

14、nt mai n()int m,n,min;int i;int s=0;scan f(%d%d,&m,&n); if(mn)mi n=n;elsemi n=m;for(i=2;iint mai n()char a100,b100,t;int i,j,q;gets(a);gets(b);for(i=0;ai!=0;i+) for(j=i,q=0;bq!=0;q+,j+) aj=bq;aj=0;for(i=0;i int mai n()char a100,s100; int i,j,q,word=0;gets(a);for(i=0;ai!=0;i+) if(ai=) con ti nue;else。

15、break; q=i;for(i=q,j=0;ai!=0;i+)if(ai!=)word=0; sj=ai; j+;if(ai=)if(word=0) word=1; sj=; j+;elsecon ti nue;sj=0; puts(s); return 0;31.從鍵盤輸入兩個由二進制數組成的字元串(小于 32位),轉化為無符号十進 制數,相加并輸出#in cludeint mai n()char s100,a100;int m=0, n=0, p,q,k;int i,j,t;gets(s);gets(a);for(i=0;si!=0;i+)p=i;t=0;for(i=p-1;i=0;i-。

16、) k=si-48; for(j=1;j=0;i-)k=ai-48;for(j=1;jint mai n()int a10,b10,c10;int i,t,j;for(i=0;iint mai n()char str100;char ch;int i,flat=0;gets(str);scan f(%c,&ch); for(i=0;stri!=0;i+) if(stri=ch)flat=1;break;if(flat=1)for(i=0;stri!=0;i+) prin tf(%c,stri); prin tf(n); elsefor(i=0;stri!=0;i+)stri=ch; stri+。

17、1=0; puts(str);return 0;34輸入n,計算n的五次方的值,輸出該值的個位,十位,百位之和。# in clude int mai n ()intn ,i,a,b,c,s;long m=1;sca nf (%d, &n);for (i=1;iint mai n()double a10,b10,s=0,ave,mi n,t; int i,j,q;for(i=0;ibq) t=bi; bi=bq; bq=t;prin tf(%lfrr,ave);prin tf(%lfn ,bj-1); return 0;36,1.将一個字元串内的數字全部提到字元串前面輸出#in clude#in。

18、 clude int mai n() char s100;int i;gets(s);for(i=0;si!=0;i+)if(si=0&si=a&si=A&siint mai n()char s100;int i,j,word=0; gets(s);for(i=0;si!=0;i+)si=0;j=i;for(i=0;i int mai n()char s5100;int i,j,max;int a5=0;for(i=0;i int sushu(i nt a)int i,flag=1;for(i=2;i1;i-)if(sushu(i)=1)prin tf(%i,i); break;prin tf。

19、(n);return 0;40保留str字元串中字母,取代原字元串 bt+; con ti nue;50輸入一個數組,判斷各個數字輸出了幾次樣例輸入012234367 輸出 1122101100#in cludeint mai n()int b10=0,j,i,t;注意用了字元型後面判斷時要用ASCII碼gets(a);for(i=0;ai!=0;i+) 這裡要用ASCII碼而不是0-9的數值if(ai=j)for(i=0;i int zhishu(i nt a) int i,flag=1; for(i=2;ia;i+) if(a%i=O)flag=O;return flag;int mai n()int n,i,j;scan f(%i,&n);for(i=2;i n;i+)if(n %i=0&zhishu(i)=1) prin tf(%i ,i);prin tf(n); return 0;52輸入兩個數,輸出它的公因數之和格式 輸入 6 9輸出1+2+3=6。