c語言程序設計_第1頁
c語言程序設計_第2頁
c語言程序設計_第3頁
c語言程序設計_第4頁
c語言程序設計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、A+B問題 計算兩個 10 以內(nèi)的兩個整數(shù)的和。 #include int main() int a,b,c=0; scanf(%d%d, if (a=0 printf (%dn,c); else printf(errorn); return 0 ; 求平均年齡 班上有學生若干名, 給出每名學生的年齡 (整數(shù)),求班上所有學生的平均年齡, 保留到小數(shù)點后兩位。In put 第一行有一個整數(shù)n ( K n 100,表示學生的 人數(shù)。其后n行每行有1個整數(shù),取值為15到25。Output 輸出一行,該行包含一個浮點數(shù),為要求的平均年齡,保留到小數(shù)點后兩位。 ? Source ? #include

2、? void main() int n,i,sum,age; double answer; scanf(%d, for(i=0,sum=0;in;i+) scanf(%d, sum+=age; answer=(double)sum/n; printf(%.2lfn,answer); 數(shù)字求和 給定一個正整數(shù)a,以及另外的5個正整數(shù),問題是:這5個整數(shù)中,小于a的 整數(shù)的和是多少? Input 輸入一行,只包括 6 個小于 100 的正整數(shù),其中第 一個正整數(shù)就是a。Output輸出一行,給出一個正整數(shù),是 5個數(shù)中小于a 的數(shù)的和。 ? Source #include int main() i

3、nt i,a,sum=0,j6; for(i=0;i6;i+) scanf(%d, a=j0; for(i=0;iji) sum=sum+ji; printf(%d,sum); getchar(); getchar(); 陶陶摘蘋果 陶陶家的院子里有一棵蘋果樹,每到秋天樹上就會結出 10 個蘋果。蘋果成熟的 時候,陶陶就會跑去摘蘋果。陶陶有個 30 厘米高的板凳,當她不能直接用手摘 到蘋果的時候,就會踩到板凳上再試試。現(xiàn)在已知 10 個蘋果到地面的高度,以 及陶陶把手伸直的時候能夠達到的最大高度, 請幫陶陶算一下她能夠摘到的蘋果 的數(shù)目。假設她碰到蘋果,蘋果就會掉下來。 Input 輸入包括兩

4、行數(shù)據(jù)。第 一行包含 10個100到 200之間(包括 100和200)的整數(shù)(以厘米為單位)分 別表示 10 個蘋果到地面的高度,兩個相鄰的整數(shù)之間用一個空格隔開。第二行 只包括一個 100到120之間(包含 100和 120)的整數(shù)(以厘米為單位),表示 陶陶把手伸直的時候能夠達到的最大高度。 Output 輸出文件包括一行, 這一 行只包含一個整數(shù),表示陶陶能夠摘到的蘋果的數(shù)目。 ? Source #include int main() int a10,i,sum=0,j; for(i=0;i10;i+) scanf(%d, scanf(%d, for(i=0;i10;i+) if(ai

5、=j+30) sum+; printf(%dn,sum); return 0; 獎金發(fā)放 企業(yè)每個月發(fā)放的獎金根據(jù)當月利潤進行提成。利潤 I 低于或等于 10 萬元的, 獎金可提10% ;利潤高于10萬元,低于20萬元(100000VI 20000)時,低 于10萬元的部分按10%提成,高于10萬元的部分,可提成7.5%; 200000V I 40000時,低于20萬元的部分仍按上述辦法提成(下同)。高于 20萬的部 分按5%提成;400000V I 60000時,高于40萬元的部分按3%提成;600000 VI 1000000時,超過100萬 元的部分按 1%提成。 現(xiàn)在請你編寫一段程序,

6、讀取一年中每個月的利潤, 計算并輸出這一年內(nèi)的應發(fā) 獎金總額。 Input 輸入數(shù)據(jù)一共有12行,每一行都是一個正整數(shù),其中第i (Ki =12行的整數(shù)表 示第 i 個月的利潤(以元為單位)。每個整數(shù)都不超過2000000。 Output 輸出只有一行,即該企業(yè)在這一年內(nèi)應該發(fā)放的獎金總額(以元為單位),要求 精確到小數(shù)點后兩位。 ? Source #include int main() int a13,i,j; double b,sum=0; a0=0; for(i=1;i13;i+) scanf(%d, for(j=1;j13;j+) if(aj100000 sum=sum+b; prin

7、tf(%.2fn,sum); return 0; 一個籠子里面關了雞和兔子(雞有 2只腳,兔子有 4 只腳,沒有例外)。已經(jīng)知 道了籠子里面腳的總數(shù)a,問籠子里面至少有多少只動物,至多有多少只動物? Input 第1行是測試數(shù)據(jù)的組數(shù)n,后面跟著n行輸入。每組測試數(shù)據(jù)占1行,每行- 個正整數(shù)a( a 32768)。 Output 輸出包含 n 行,每行對應一個輸入 ,包含兩個正整數(shù),第一個是最少的動物數(shù), 第二個是最多的動物數(shù),兩個正整數(shù)用一個空格分開。 如果沒有滿足要求的答案,則輸出兩個 0。 ? Source #include void main() int a,n,i; scanf(%d

8、n, for(i=1;i=n;i+) scanf(%d, if(a%2!=0|a4)printf(0 0n); else if(a%4=0)printf(%d %dn,a/4,a/2); else printf(%d %dn,a/4+1,a/2); 成績評定 現(xiàn)在有若干個同學的期末考試成績, 我們需要根據(jù)下面的規(guī)則根據(jù)每個同學考試 成績所在的分數(shù)段對其成績進行評定, 請編寫程序完成這個任務。 成績評定規(guī)則 如下: ? 若成績在 100 分和 90 分(含 100 分和 90 分)之間,則判定為 “ A”; ? 若成績在 90 分和 80 分(含 80 分)之間,則判定為 “ B”; ? 若成績

9、在 80分和 60分(含 60分)之間,則判定為 “C”; ? 若成績在 60分以下 0分以上(含 0 分),則判定為 “D”; ? 否則無法判定,給出錯誤提示。 Input 第一行是一個整數(shù)n,表示需要評定的成績的個數(shù)。 接下來有 n 行輸入,每行都是一個浮點數(shù),表示某個同學的成績。 Output 輸出一 對應于每個同學的成績, 輸出一行表示判定結果, 對于無法判定的成績, 行 “ Invalid?!?? Source #include #define N 1000 void main() int n,x; float aN; int i = 0; scanf(%d, for (; i n;

10、 i+) scanf(%f, for (i = 0; i =0 continue; x = (int)ai; x = x/10; switch(x) case 10: case 9: printf(An); break; case 8: printf(Bn); break; case 7: case 6: printf(Cn); break; default: printf(Dn); break; 雞兔同籠 II 籠子中有若干只雞和若干只兔子,現(xiàn)在只知道籠子中總共有a個頭和b只腳(a 和 b 都是非負整數(shù)),請你編寫一個程序計算籠子中分別有多少只雞和多少只兔。 籠子中雞的數(shù)量和兔的數(shù)量都必須是

11、一個非負整數(shù),否則就是無效答案。 Input 輸入只有一行,包括兩個非負整數(shù),分別表示籠中頭的數(shù)量a和腳的數(shù)量b Output 分別表示籠中雞的數(shù)量和兔的數(shù) 輸出也只有一行,包括用空格分開的兩個整數(shù), 量。若為無效答案則輸出一行 “ Error?!?? Source #include void main() int a,b; scanf(%d %d, if(b4*a)printf(Errorn); else if(b%2!=0)printf(Errorn); else printf(%d %dn,a-(b-2*a)/2,(b-2*a)/2); 求分數(shù)序列和 有一個分數(shù)序列2/1, 3/2, 5

12、/3, 8/5, 13/8, 21/13,,求這個分數(shù)序列的前 n項之和。 Input 輸入有一行:正整數(shù) n (0 n 500。 Output 輸出有一行:分數(shù)序列中前 n 項的和,要求精確到小數(shù)點后 4 位。 ? Source #include void main() int n,i; double a=1,b=2,c,sum=0; scanf(%d, for(i=0;in;i+) sum=sum+b/a; c=b; b=a+b; a=c; printf(%.4fn,sum); 質(zhì)數(shù)判定 質(zhì)數(shù)被定義為一個不能除了 1 和它本身整除的正整數(shù)。 你的任務就是要編寫一個 程序,判定任意一個大于等

13、于 2 的正整數(shù)是否是質(zhì)數(shù)。 Input 輸入只有一行,即要判定的這個正整數(shù) a (2 a 200。 Output 輸出只有一行,若a是質(zhì)數(shù),輸出“Y”否則輸出“N。 ? Source #include void main() int n,i; scanf(%d, for(i=2;i=n/2)printf(Yn); else printf(N); 棋盤上的距離 國際象棋的棋盤是黑白相間的8 * 8的方格,棋子放在格子中間。如下圖所示: 王、后、車、象的走子規(guī)則如下: ?王:橫、直、斜都可以走,但每步限走一格。 ?后:橫、直、斜都可以走,每步格數(shù)不受限制。 ?車:橫、豎均可以走,不能斜走,格數(shù)不

14、限。 ?象:只能斜走,格數(shù)不限。 寫一個程序,給定起始位置和目標位置,計算王、后、車、象從起始位置走到目 標位置所需的最少步數(shù)。 In put 第一行是測試數(shù)據(jù)的組數(shù)t (0 t 20o以下每行是一組測試數(shù)據(jù),每組包括棋 盤上的兩個位置,第一個是起始位置,第二個是目標位置。位置用字母-數(shù)字 的形式表示,字母從“a到“h”數(shù)字從“ 1到“8。 Output 對輸入的每組測試數(shù)據(jù),輸出王、后、車、象所需的最少步數(shù)。如果無法到達 就輸出“Inf?!?計算書費 F面是一個圖書的單價表: 訃舜概論 上啊元丿木 32.7+ 刼字邏弭 45 ?float sum; ?scan f(%d, ?for(j=0;

15、jk;j+) ? ? for(i=0;in+i行輸入:第一行是要處理的數(shù)組的個數(shù) n;對其余2xn行,第一行是此 數(shù)組的元素個數(shù)k (3 k80,第二行是k個整數(shù),每兩個整數(shù)之間用空格分隔。 Output 輸出為 n 行:每行對應于相應數(shù)組的所有極值點下標值, 下標值之間用空格分隔。 ? Source #include void main() int n,k,i,j,a80; scanf(%d, for(j=0;jn;j+) scanf(%d, for(i=0;ik;i+) scanf(%d, for(i=0;ik;i+) if(i=0) if(aiai+1)printf(0 ); else;

16、 else if(i0 ? else; ? else if(ak-1ak-2)printf(%d ,k-1); ? else; ? printf(n); ? ? 腫瘤檢測 一張CT掃描的灰度圖像可以用一個 N*N (Ov N V 100)的矩陣描述,矩陣上的 每個點對應一個灰度值(整數(shù)),其取值范圍是 0-255。我們假設給定的圖像中 有且只有一個腫瘤。 在圖上監(jiān)測腫瘤的方法如下: 如果某個點對應的灰度值小于 等于 50,則這個點在腫瘤上,否則不在腫瘤上。我們把在腫瘤上的點的數(shù)目加 起來,就得到了腫瘤在圖上的面積。 任何在腫瘤上的點, 如果它是圖像的邊界或 者它的上下左右四個相鄰點中至少有一個

17、是非腫瘤上的點, 則該點稱為腫瘤的邊 界點。腫瘤的邊界點的個數(shù)稱為腫瘤的周長。 現(xiàn)在給定一個圖像, 要求計算其中 的腫瘤的面積和周長。 Input 輸入第一行包含一個正整數(shù) N (0V N V 100),表示圖像的大小;接下來 N行, 每行包含圖像的一行。 圖像的一行用 N 個整數(shù)表示(所有整數(shù)大于等于 0,小于 等于 255),兩個整數(shù)之間用一個空格隔開。 Output 輸出只有一行, 該行包含兩個正整數(shù), 分別為給定圖像中腫瘤的面積和周長, 用 一個空格分開。 ? Source ? #include ? void main() ? ? int i,j,n,a100100,s=0,c=0;

18、? scanf(%d, ? for(i=0;in;i+) ? for(j=0;jn;j+) scanf(%d, if(aij51)s=s+1; printf(%d ,s); for(i=0;in;i+) if(ai051)c=c+1; if(ain-151)c=c+1; for(j=0;jn;j+) if(a0j51)c=c+1; if(an-1j51)c=c+1; if(a0051)c=c-1; if(a0n-151)c=c-1; if(an-1051)c=c-1; if(an-1n-151)c=c-1; for(i=1;in-1;i+) for(j=1;jn-1;j+) if(aij50|

19、aij-150|ai-1j50|ai+1 j50)c=c+1; printf(%dn,c); 腫瘤面積 在一個正方形的灰度圖片上, 腫瘤是一塊矩形的區(qū)域, 腫瘤的邊緣所在的像素點 在圖片中用 0 表示。其它腫瘤內(nèi)和腫瘤外的點都用 255表示?,F(xiàn)在要求你編寫一 個程序,計算腫瘤內(nèi)部的像素點的個數(shù)(不包括腫瘤邊緣上的點)。已知腫瘤的 邊緣平行于圖像的邊緣。 Input 只有一個測試樣例。第一行有一個整數(shù) n,表示正方形圖像的邊長。其后n行每 行有n個整數(shù),取值為0或255。整數(shù)之間用一個空格隔開。已知n不大于100。 Output 輸出一行,該行包含一個整數(shù),為要求的腫瘤內(nèi)的像素點的個數(shù) ? So

20、urce #include void main() int n,i,j,h=0,m=0,s=0; scanf(%d, int a100100; for(i=0;in;i+) for(j=0;jn;j+) scanf(%d, for(i=0;in;i+) for(j=0;jn;j+) if(aij=255)h=h+1; else break; if(j-1;i-) for(j=n-1;j-1;j-) if(aij=255)m=m+1; else break; if(j-1 s=(n-2-h/n-m/n)*(n-2-h%n-m%n); printf(%dn,s); 兩倍 給定 2到 15個不同的正整數(shù),你的任務是計算這些數(shù)里面有多少個數(shù)對滿足: 數(shù)對中一個數(shù)是另一個數(shù)的兩倍。 比如給定 1 4 3 2 9 7 18 22,得到的答案是 3,因為 2是1的兩倍,4是2個兩倍, 18是 9的兩倍。 Input 輸入包括多組測試數(shù)據(jù)。 每

溫馨提示

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

評論

0/150

提交評論