C程序開(kāi)發(fā)經(jīng)典實(shí)例_第1頁(yè)
C程序開(kāi)發(fā)經(jīng)典實(shí)例_第2頁(yè)
C程序開(kāi)發(fā)經(jīng)典實(shí)例_第3頁(yè)
C程序開(kāi)發(fā)經(jīng)典實(shí)例_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、題目:猴子吃桃問(wèn)題:猴子第一天摘下假設(shè)干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè),第 二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè).以后每天早上都吃了前一天剩下的一半零一 個(gè).到第10天早上想再吃時(shí),見(jiàn)只剩下一個(gè)桃子了.求第一天共摘了多少.1 .程序分析:采取逆向思維的方法,從后往前推斷.2 .程序源代碼:main()(int day, x1, x2;day = 9;x2 = 1;while(day>0)(x1 = (x2 + 1) * 2; /*第一天的桃子數(shù)是第2天桃子數(shù)加1后的2倍*/x2 = x1;day-;)printf("the total is %dn"

2、;, x1);)【程序22題目:兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人.甲隊(duì)為 a, b, c三人,乙隊(duì)為x, y, z三人.已抽簽決定 比賽名單.有人向隊(duì)員打聽(tīng)比賽的名單.a說(shuō)他不和x比,c說(shuō)他不和x, z比,請(qǐng)編程序找出三隊(duì)賽手的名單.1 .程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,那么說(shuō)明此數(shù)不是素?cái)?shù),反之是素?cái)?shù).2 .程序源代碼:main()(char i, j, k; /* i是a的對(duì)手,j是b的對(duì)手,k是c的對(duì)手*/for(i='x" i<='z' i+)for(j='x" j<='

3、;z' j+)(if(i != j)for(k="x" k<='z' k+)(if(i != k && j != k)(if(i != 'x' && k != 'x' && k != 'z') printf("order is a-%ctb-%ctc-%cn", i, j, k);)題目:打印出如下列圖案(菱形)*1 .程序分析:先把圖形分成兩局部來(lái)看待,前四行一個(gè)規(guī)律,后三行一個(gè)規(guī)律,利用雙重for循環(huán),第一層限制行,第二層限制

4、列.2 .程序源代碼:main()(int i, j, k;for(i=0; i<=3; i+)(for(j=0; j<=2-i; j+) printf("");for(k=0; k<=2*i; k+) printf("*");printf("n");for(i=0; i<=2; i+)(for(j=0; j<=i; j+) printf(" ");for(k=0; k<=4-2*i; k+) printf("*");printf("n")

5、;【程序24題目:有一分?jǐn)?shù)序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13求出這個(gè)數(shù)列的前 20項(xiàng)之和.1 .程序分析:請(qǐng)抓住分子與分母的變化規(guī)律.2 .程序源代碼:main()(int n, t, number = 20;float a = 2, b = 1, s = 0;for(n=1; n<=number; n+) (s = s + a / b;t的作用*/t = a; a = a + b; b = t; /*這局部是程序的關(guān)鍵,請(qǐng)讀者猜猜printf("sum is %9,6fn", s);)【程序25題目:求 1+2!+3!+.+20!的

6、和1 .程序分析:此程序只是把累加變成了累乘.2 .程序源代碼:/* 63 63 72 75 6E 2E 63 6F 6D */main()(float n, s = 0, t = 1;for(n=1; n<=20; n+)(t *= n;s += t;)printf("1+2!+3!.+20!=%en", s);)【程序26題目:利用遞歸方法求5!o1 .程序分析:遞歸公式: fn=fn_1*4!2 .程序源代碼:#include "stdio.h"main()(int i;int fact();for(i=0; i<5; i+)print

7、f("40:%d!=%dn", i, fact(i);)int fact(j)int j;(int sum;if(j = 0)sum = 1;elsesum = j * fact(j - 1);return sum;)【程序27題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序打印出來(lái)1.程序分析:2.程序源代碼:#include "stdio.h"main()int i = 5;void palin(int n);printf("40:");palin(i);printf("n");)void palin

8、(n) int n;(char next; if(n<=1) (next = getchar();printf("n0:");putchar(next);) else (next = getchar();palin(n-1);putchar(next);)【程序28題目:有5個(gè)人坐在一起,問(wèn)第五個(gè)人多少歲他說(shuō)比第 4個(gè)人大2歲.問(wèn)第4個(gè)人歲數(shù),他說(shuō) 比第3個(gè)人大2歲.問(wèn)第三個(gè)人,又說(shuō)比第 2人大兩歲.問(wèn)第2個(gè)人,說(shuō)比第一個(gè)人大兩歲.最后問(wèn)第一個(gè)人,他說(shuō)是 10歲.請(qǐng)問(wèn)第五個(gè)人多大1 .程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個(gè)階段.要想知道第五個(gè)人歲數(shù),需知道第

9、四人的歲數(shù),依次類推,推到第一人(10歲),再往回推.2 .程序源代碼:age(n)int n;(int c;if(n=1) c=10;else c=age(n-1)+2;return(c);) main()( printf("%d", age(5);題目:給一個(gè)不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字.1 .程序分析:學(xué)會(huì)分解出每一位數(shù),如下解釋:(這里是一種簡(jiǎn)單的算法,師專數(shù) 002班趙鑫提供)2 .程序源代碼: main()(long a, b, c, d, e, x;scanf("%ld", &x);a = x

10、/ 10000; /* 分解出萬(wàn)位 */b = x % 10000 / 1000; /* 分解出千位 */c = x % 1000 / 100; /* 分解出百位 */d = x % 100 / 10; /* 分解出十位*/e = x % 10; /* 分解出個(gè)位 */if (a!=0) printf("there are 5, %ld %ld %ld %ld %ldn", e, d, c, b, a);else if (b!=0) printf("there are 4, %ld %ld %ld %ldn", e, d, c, b);else if (

11、c!=0) printf(" there are 3, %ld %ld %ldn", e, d, c);else if (d!=0) printf("there are 2, %ld %ldn", e, d);else if (e!=0) printf(" there are 1, %ldn", e);)【程序30題目:一個(gè)5位數(shù),判斷它是不是回文數(shù).即 12321是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相 同.1 .程序分析:同 29例2 .程序源代碼:main( )(long ge, shi, qian, wan, x;scanf("%ld", &x);wan = x / 10000;qian = x % 10000 / 1000;shi =

溫馨提示

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