經(jīng)典C源程序100例

經(jīng)典C源程序100例

ID:83040850

大?。?88.60 KB

頁(yè)數(shù):74頁(yè)

時(shí)間:2023-07-04

上傳者:無(wú)敵小子
經(jīng)典C源程序100例_第1頁(yè)
經(jīng)典C源程序100例_第2頁(yè)
經(jīng)典C源程序100例_第3頁(yè)
經(jīng)典C源程序100例_第4頁(yè)
經(jīng)典C源程序100例_第5頁(yè)
經(jīng)典C源程序100例_第6頁(yè)
經(jīng)典C源程序100例_第7頁(yè)
經(jīng)典C源程序100例_第8頁(yè)
經(jīng)典C源程序100例_第9頁(yè)
經(jīng)典C源程序100例_第10頁(yè)
資源描述:

《經(jīng)典C源程序100例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

【程序1】題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少?1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4,組成所有的排列后再去掉不滿足條件的排列。2.程序源代碼:main()(inti,j,k;printf("

1");for(i=l;i<5;i-H-)/*以下為三重循環(huán)*/for(j=l;j<5;j++)for(k=l;k<5;k++)(if(i!=k&&i!=j&&j!=k)/*確保i、j、k三位互不相同*/printf("%d,%d,%d

2",i,j,k);【程序2】題目:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)⑴低于或等于10萬(wàn)元時(shí),獎(jiǎng)金可提10%;利潤(rùn)高于10萬(wàn)元,低于20萬(wàn)元時(shí),低于10萬(wàn)元的部分按10%提成,高于10萬(wàn)元的部分,可可提成7.5%;20萬(wàn)到40萬(wàn)之間時(shí),高于20萬(wàn)元的部分,可提成5%;40萬(wàn)到60萬(wàn)之間時(shí)高于40萬(wàn)元的部分,可提成3%;60萬(wàn)到100萬(wàn)之間時(shí),高于60萬(wàn)元的部分,可提成3.5%,高于100萬(wàn)元時(shí),超過(guò)100萬(wàn)元的部分按1%提成,從鍵盤(pán)輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?1.程序分析:請(qǐng)利用數(shù)軸來(lái)分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長(zhǎng)整型。2.程序源代碼:main()(longinti;intbonusI,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;elseif(i<=200000)bonus=bonusl+(i-100000)*0.075;elseif(i<=400000)

3bonus=bonus2+(i-200000)*0.05;elseif(i<=600000)bonus=bonus4+(i-400000)*0.03;elseif(i<=l000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf(,'bonus=%d,,,bonus);【程序3】題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請(qǐng)問(wèn)該數(shù)是多少?1.程序分析:在10萬(wàn)以?xún)?nèi)判斷,先將該數(shù)加上100后再開(kāi)方,再將該數(shù)加上268后再開(kāi)方,如果開(kāi)方后的結(jié)果滿足如下條件,即是結(jié)果。請(qǐng)看具體分析:2.程序源代碼:#include"math.h"main()(longinti,x,y,z;for(i=l;i<100000;i++){x=sqrt(i+100);/*x為加上100后開(kāi)方后的結(jié)果*/y=sqrt(i+268);/*y為再加上168后開(kāi)方后的結(jié)果*/if(x*x==i+100&&y*y==i+268)/*如果一個(gè)數(shù)的平方根的平方等于該數(shù),這說(shuō)明此數(shù)是完全平方數(shù)*/printf("

4%ld

5",i);))【程序4】題目:輸入某年某月某Fl,判斷這一天是這一年的第幾天?1.程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。2.程序源代碼:main()

6intday,month,year,sumJeap;printf(H

7pleaseinputyear,month,day

8");scanf("%d,%d,%d”,&year,&month,&day);switch(month)/東先計(jì)算某月以前月份的總天數(shù)*/(casel:sum=0;break;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;case5:sum=120;break;case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;?2005-1-2211:292樓?貨___?zhlei81?位粉絲case10:sum=273;break;case1l:sum=304;break;case12:sum=334;break;default:printf(°dataerror,T);break;)

9um+day;/*再加上某天的天數(shù)*/if(year%400=011(year%4==0&&year%100!=0))/*判斷是不是閏年*/leap=l;elseleap=0;if(leap=1&&month>2)/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*sum++;printf(Itisthe%dthday.

10M,sum);)【程序5】題目:輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。1.程序分析:我們想辦法把最小的數(shù)放到X上先將X與y進(jìn)行比較,如果x>y則將x與y

11的值進(jìn)行交換,然后再用x與z進(jìn)行比較如果x>z則將X與Z的值進(jìn)行交換這樣能使X最小。1.程序源代碼:main()(intx,y,z,t;scanf(“%d%d%dH,&x,&y,&z);if(x>y){t=x;x=y;y=t;}/*交換x,y的值*/if(x>z){t=z;z=x;x=t;}/*交換x,z的值*/

12if(y>z){t=y;y=z;z=t;}/*交換z,y的值*/printf(nsmalItobig:%d%d%d

13'\x,y,z);}【程序6】題目:用*號(hào)輸出字母C的圖案。1.程序分析;可先用'*,號(hào)在紙上寫(xiě)出字母C,再分行輸出。2.程序源代碼:#includeMst

14dio.h”main()printf('BelloC-wodd!

15printf(”****

16,r);printf("*

17”);printf("*

18f,);printf(”****

19u);j【程序7】

20題目:輸出特殊圖案,請(qǐng)?jiān)赾環(huán)境中運(yùn)行,看一看,VeryBeautiful!1.程序分析:字符共有256個(gè)。不同字符,圖形不一樣。2.程序源代碼:#include"stdio.h"main()chara二176,b=219;printf("%c%c%c%c%c

21”,b,a,a,a,b);printf(“%c%c%c%c%

22c

23M,a,b,a,b,a);printf(“%c%c%c%c%c

24n,a,a,b,a,a);printf(“%c%c%c%c%c

25H,a,b,a,b,a);printf("%c%c%c%c%c

26n,b,a,a,a,b);)【程序8】題目:輸出9

27*9口訣。1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。2.程序源代碼:#include"stdio.h”main()intij,result;printfCM");for(i=l;i<10;i++){for(j0;j++)

28resupnntf(M%d*%d=%-3dsuit);/*-3d表示左對(duì)齊占3位*/printf("

29")y*每一行后換行*

30【程序9】題目:要求輸出國(guó)際象棋棋盤(pán)。1.程序分析:用i控制行,j來(lái)控制列,根據(jù)i+j的和的變化來(lái)控制輸出黑方格,還是白方格。2.程序源代碼:#includeMstdio.h"main()inti,j;for(i=0;i<8;i++)for(j=0;

31j<8;j++)if((i+j)%2==0)Printf(“%c%c",219,219);elsePrintf1);pnntfCM)}【程序10]題目:打印樓梯,同時(shí)在樓梯上方打印兩個(gè)笑臉。1.程序分用i控制行,

32j來(lái)控制列,j根據(jù)i的變化來(lái)控制輸出黑方格的個(gè)數(shù)。2.程序源代碼:#include"stdio.hMmain()inti,j;

33?2005-1-2211:29printfCM\1

34n);/*輸出兩個(gè)笑臉*/for(i=l;i

35inti;fl=f2=l;for(i=l;i<=20;i++){printf(n%121d%121dn,fl,f2);if(i%2==0)printfC'n");/*控制輸出,每行四個(gè)fl=fl+f2;/*前兩個(gè)月加起來(lái)賦值給第三個(gè)月*/f2=fl+f2;/*前兩個(gè)月加起來(lái)賦值給第三個(gè)月*/【程序12]題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。1.程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。2.程序源代碼:include"math.h"main(){intm,i,k,h=0,leap=1;printf(u

36H);for(m=101;m<=200;m++){k=sqrt(m+l);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap){printf(M%-4d",m);h++;if(h%10==0)printf(n

37M);)leap=l;)printf("

38Thetotalis%d",h);}【程序13]題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)“水仙花數(shù)”,因?yàn)?

3953=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循環(huán)控制100-999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。2.程序源代碼:main()|inti,j,k,n;printf('"waterflower'numberis:");for(n=100;n<1000;n++){i=n/l00;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出個(gè)位*/if(i*100+j*10+k=i*i*i+j*j*j+k*k*k){printf("%-5d",n);})printf("

40");【程序14]題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對(duì)n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完成:(1)如果這個(gè)質(zhì)數(shù)恰等于n,則說(shuō)明分解質(zhì)因數(shù)的過(guò)程已經(jīng)結(jié)束,打印出即可。(2)如果nok,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行第一步。(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。3.程序源代碼:/*zhengintisdividedyinshu*/main()intn,i;printf(M

41pleaseinputanumber:

42M);scanf(u%dn,&n);printf("%d=,

43);for(i=2;i<=n;i++)

44(while(n!=i)(if(n%i==O){printf(n%d*H,i);n=n/i;)elsebreak;))printf("%d",n);)【程序15]題目:利用條件運(yùn)算符的嵌套來(lái)完成此題:學(xué)習(xí)成績(jī)>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b這是條件運(yùn)算符的基本例子。2.程序源代碼:main()(intscore;chargrade;printf("pleaseinputascore

45");scanf("%d",&score);grade=score>=90?"A':(score>=60?'B':'C');printf("%dbelongsto%c",score,grade);}【程序16]題目:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

462005-1-2211:30回復(fù)?zhlei81?11位粉絲4樓1.程序分析:利用輾除法。2.程序源代碼:main()(inta,b,num1,num2,temp;printf(''pleaseinputtwonumbersAn");scanf("%d,%d,,,&numl,&num2);if(numl{temp=numl;numl=num2;num2=temp;}a=numl;b=num2;while(b!=0)/*利用輾除法,直到b為0為止*/(temp=a%b;a=b;b=temp;)printf(,'gongyueshu:%d

47,,,a);printf(Hgongbeishu:%d

48",numl*num2/a);【程序17]題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。L程序分析:利用while語(yǔ)句,條件為輸入的字符不為3.程序源代碼:#includenstdio.h"main(){chare;intletters=0,space=0,digit=0,others=0;printf(Hpleaseinputsomecharacters'll");while((c=getchar())!='

49!)if(c>=,a,&&c<=,z,llc>='A'&&c<=,Z,)letters++;elseif(c==')space++;elseif(c>=<0,&&c<='9")digit++;else

50others++;}printf(wallinall:char=%dspace=%ddigit=%dothers=%d

51",letters,space,digit,others);)【程序18]題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個(gè)數(shù)字。例如2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤(pán)控制。1.程序分析:關(guān)鍵是計(jì)算出每一項(xiàng)的值。2.程序源代碼:main(){inta,n,count=l;longintsn=0,tn=0;printf(npleaseinputaandn

52H);scanf("%d,%d",&a,&n);printf(,,a=%d,n=%d

53,,,a,n);while(count<=n)(tn=tn+a;sn=sn+tn;a=a*10;++count;)printf(,'a+aa4-...=%ld

54",sn);}【程序19]題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為“完數(shù)”。例如6=1+2+3.編程找出1000以?xún)?nèi)的所有完數(shù)。1.程序分析:請(qǐng)參照程序〈-上頁(yè)程序14.2.程序源代碼:main(){staticintk|10|;inti,j,n,s;for(j=2;j<1000;j++)

55{n=-l;s=j;for(i=l;i{if((j%i)==0){n++;s=s-i;k[n]=i;)}if(s==0)(printf("%disawanshu",j);for(i=0;iprintf(”%d,”,k「]);printf(',%d

56M,k[n]);}))【程序20]題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過(guò)多少米?第10次反彈多高?1.程序分析:見(jiàn)下面注釋2.程序源代碼:main()(floatsn=100.0,hn=sn/2;intn;fbr(n=2;n<=10;n4-+)sn=sn+2*hn;/*第n次落地時(shí)共經(jīng)過(guò)的米數(shù)*/

57hn=hn/2;/*第n次反跳高度*/)?2005-1-2211:30?MMprintf("thetotalofroadis%f

58",sn);printf("thetenthis%fmeter

59",hn);?zhlei81?11位粉絲5樓【程序21]題目:猴子吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè)第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想再吃時(shí),見(jiàn)只剩下一個(gè)桃子了。求第一天共摘了多少。1.程序分析:采取逆向思維的方法,從后往前推斷。2.程序源代碼:main()(intday,xl,x2;day=9;x2=l;while(day>0){xl=(x2+l)*2;/*第一天的桃子數(shù)是第2天桃子數(shù)加1后的2倍*/x2=x1;day-;)printf("thetotalis%d

60",xl);)【程序22]題目:兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為ab,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到sqn(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。2.程序源代碼:

61main(){chari,j,k;/【程序23]題目:打印出如下圖案(菱形)****1.程序分析:先把圖形分成兩部分來(lái)看待,前四行一個(gè)規(guī)律,后三行一個(gè)規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。2.程序源代碼:main()(inti,j,k;fbr(i=0;i<=3;i++)(fbr(j=0;j<=2-i;j++)printf(Mn);【程序25]題目:求1+2!求!+...+20!的和1.程序分析:此程序只是把累加變成了累乘。2.程序源代碼:main(){floatn,s=0,t=l;fbr(n=l;n<=20;n++)【程序27]題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序打印出來(lái)。1.程序分析:2.程序源代碼:#include"stdio.h"main()(inti=5;voidpalin(intn);2005-1-2211:30【程序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ù),需知道第四人的歲數(shù),依次類(lèi)推,推到第一人(10歲),再往回推。2.程序源代碼:age(n)intn;intc;【程序30]題目:一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相同。1.程序分析:同29例2.程序源代碼:i是a的對(duì)手,j是b的對(duì)手,k是c的對(duì)

62手*/for(i=,x,;i<=,z,;i++)fbr(j='x,;j<=,z';j-H-)(if(i!=j)for(k=,x,;k<=,z,;k++){if(i!=k&&j!=k){if(i!=,x'&&k!=,x'&&k!=,z,)printf("orderisa—%c\tb-%c\tc—%c

63M,i,j,k);))for(k=0;k<=2*i;k++)printfC*");printf("

64,,);)for(i=0;i<=2;i++)(for(j=0;j<=i;j4-+)printfC'M);for(k=0;kv=4?2*i;k++)printf(M*H);printf(',

65M);

66)【程序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(){intn,t,number=20;floata=2,b=l,s=0;fbr(n=l;n<=number;n++)(s=s+a/b;t=a;a=a+b;b=t;/*這部分是程序的關(guān)鍵,請(qǐng)讀者猜猜t的作用*/)printfC'sumis%9.6f

67",s);}t*=n;s+=t;}printf("l+2!+3!...+20!=%e

68n,s);【程序26]題目:利用遞歸方法求5!。1.程序分析:遞歸公式:fn=fn_l*4!2.程序源代碼:#include"stdio.h"main()(inti;intfact();fbr(i=0;i<5;i-H-)printf(',\40:%d!=%d

69,,,i,fact(i));)intfact(j)intj;{

70intsum;if(j==O)sum=1;elsesum=j*fact(j-l);returnsum;}

71回復(fù)?zhlei81?11位粉絲6樓printfC'MO:'1);palin(i);printfC'

72H);}voidpalin(n)intn;(charnext;if(n<=l)(next=getchar();printf("

73\O:");putchar(next);)else(next=getchar();palin(n-l);putchar(next);if(n==l)c=10;elsec=age(n-l)+2;return?;)main(){printf("%d",age(5));}【程序29]題目:給一個(gè)不多于5位的正整數(shù),要求:一、求它是兒位數(shù),二、逆序打印出各位數(shù)字。1.程序分析:學(xué)會(huì)分解出每一位數(shù),如下解釋?zhuān)?這里是一種簡(jiǎn)單的算法,師專(zhuān)數(shù)002班趙鑫提供)2.程序源代碼:main(){longa,b,c,d,e,x;scanf("%ld",&x);a=x/10000;/*分解出萬(wàn)位*/b=x%10000/1000;/*分解出千位*/c=x%1000/100;/*分解出百位*/d=x%100/10;/*分解出十位*/

74e=x%10;/*分解出個(gè)位*/if(a!=0)printf("thereare5,%ld%ld%ld%ld%ld

75",e,d,c,b,a);elseif(b!=O)printf("thereare4,%ld%ld%ld%ld

76",e,d,c,b);elseif(c!=0)printf("thereare3,%ld%ld%ld

77",e,d,c);elseif(d!=0)printf("thereare2,%ld%ld

78",e,d);elseif(e!=0)printf("therearel,%ld

79",e);

80main()(longge,shi,qian,wan,x;scanf(n%ld'\&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge==wan&&shi=qian)/*個(gè)位等于萬(wàn)位并且十位等于千位*/printf(nthisnumberisahuiwen

81M);elseprintf(nthisnumberisnotahuiwen

82");)?2005-1-2211:30?MS?zhlei81?11位粉絲7樓程序31】題目:請(qǐng)輸入星期幾的第一個(gè)字母來(lái)判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)判斷第二個(gè)字母。1.程序分析:用情況語(yǔ)句比較好,如果第一個(gè)字母一樣,則判斷用情況語(yǔ)句或if語(yǔ)句判斷第二個(gè)字母。2.程序源代碼:#includevoidmain(){charletter;printf("pleaseinputthefirstletterofsomeday

83u);while((lettei?二getch())!='Y?*當(dāng)所按字母為Y時(shí)才結(jié)束*/{switch(letter){caseS:printf("pleaseinputsecondletter

84,');if((lettei^getch())==,a,)printf(',saturday

85,');elseif((letter=getch())=,u,)printf(Msunday

86M);elseprintfC'dataerror

87");break;case'F':printf(,,friday

88,');break;case'M':printf(Mmonday

89M);break;caseT':printf("pleaseinputsecondletter

90H);if((letter=getch())=='u,

91)printf("tuesday

92M);elseif((lettei^getch())==,h,)printf("thursday

93");elseprintf(ndataerror

94M);break;case'W':printf(Mwednesday

95H);break;default:printf(ndataerroAn");))}【程序32]題H:Pressanykeytochangecolor,doyouwanttotryit.Pleasehurryup!1.程序分析:2.程序源代碼:#includevoidmain(void){intcolor;for(color=0;color<8;color++){textbackground(color);/*設(shè)置文本的背景顏色*/cprintf(*Thisiscolor%d\r

96M,color);cprintf("Pressanykeytocontinue\r

97");getch();/*輸入字符看不見(jiàn)*/})【程序33]題目:學(xué)習(xí)gotoxyO與dfscr()函數(shù)1.程序分析:2.程序源代碼:#includevoidmain(void)(clrscr();/*清屏函數(shù)*/textbackground(2);gotoxy(l,5);/*定位函數(shù)*/cprintf("Outputatrow5columnl

98n);textbackground(3);

99gotoxy(20,10);cprintf("Outputatrow10column20

100M);}【程序34]題目:練習(xí)函數(shù)調(diào)用1.程序分析:2.程序源代碼:#includevoidhello_world(void){printf("Hello,world!

101");}voidthree_hellos(void){intcounter;for(counter=1;counter<=3;counter++)hello_world。;/*調(diào)用此函數(shù)*/)voidmain(void)(three_hellos();/*調(diào)用此函數(shù)*/【程序35]題目:文本顏色設(shè)置1.程序分析:2.程序源代碼:#includevoidmain(void)(intcolor;for(color=1;color<16;color-H-){textcolor(color);/*設(shè)置文本顏色*/cprintf(*Thisiscolor%d\r

102'\color);}textcolor(128+15);cprintf('Thisisblinking\r

103H);

104【程序36]題目:求100之內(nèi)的素?cái)?shù)1.程序分析:1.程序源代碼:#includeinclude"math.h"#defineN101main()(inti,j,line,a[N];for(i=2;i

105,');for(i=2,line=0;i

106H);fbr(i=0;i

107printf(',

108");for(i=0;i

109,^);/*sorttennum*/for(i=0;ia(j])min=j;tem=a[i];a[i]=a[min];a[min]=tem;)/*outputdata*/printf(HAftersorted

110u);for(i=0;i

111H);for(i=0;i<3;i++)for(j=0;jv3;j++)scanf(M%f;&a|i][j]);for(i=0;i<3;i4-+)sum=sum+a[i][i];printf(Hduijiaoxianheis%6.2fM,sum);【程序39]題目:有一個(gè)已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個(gè)數(shù),要求按原來(lái)的規(guī)律將它插入數(shù)組中。1.程序分析:首先判斷此數(shù)是否大于最后一個(gè)數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個(gè)位置。2.程序源代碼:main(){inta[11]={1,4,6,9,13,16,19,28,40,100);inttempl,temp2,number,end,i,j;

112printf("originalarrayis:

113M);for(i=0;i<10;i++)printf("%5d”,a「]);printf(,'

114,');printf("insertanewnumber:'1);scanf("%dn,&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++){if(a[i]>number){templ=a[i];a[i]=number;for(j=i+l;j

115【程序40]題目:將一個(gè)數(shù)組逆序輸出。1.程序分析:用第一個(gè)與最后一個(gè)交換。2.程序源代碼:#defineN5main(){inta[N]={9,6,5,4,1},i,temp;printf(,'

116originalarray:

117M);for(i=0;i

118sortedarray:

119M);for(i=0;i

120M,b);b&=7;printfC'MO:Thea&b(decimal)is%d

121",b);【程序52]題目:學(xué)習(xí)使用按位或I。1.程序分析:010=0;011=1;110=1;111=12.程序源代碼:#includenstdio.h"main()(inta,b;a=077;

122b=al3;printf(n\40:Thea&b(decimal)is%d

123*',b);bl=7;printfC'MO:Thea&b(decimal)is%d

124",b);【程序53]題目:學(xué)習(xí)使用按位異或八。1.程序分析:0Ao=0;0Al=1;1人0=1;1A1=02.程序源代碼:#include"stdio.h"main()(inta,b;a=077;b=aA3;printf(M\40:Thea&b(decimal)is%d

125n,b);bA=7;printf(n\40:Thea&b(decimal)is%d

126*',b);}【程序54]題目:取一個(gè)整數(shù)a從右端開(kāi)始的4?7位。程序分析:可以這樣考慮:⑴先使a右移4位。(2)設(shè)置一個(gè)低4位全為1,其余全為0的數(shù)。可用?(?0<<4)(3)將上面二者進(jìn)行&運(yùn)算。3.程序源代碼:main()unsigneda,b,c,d;scanf(n%o'\&a);b=a?4;c=~(?0vv4);d=b&c;printf(,'%o

127%o

128*\a,d);【程序55]題目:學(xué)習(xí)使用按位取反1.程序分析:~0=1;~1=0;

1291.程序源代碼:include"stdio.h"main(){inta,b;a=234;b=?a;prinlf("\40:Thea*s1complement(decimal)is%d

130'\b);a=~a;printf(H\40:Thea's1complement(hexidecimal)is%x

131M,a);)【程序56]題目:畫(huà)圖,學(xué)用circle畫(huà)圓形。1.程序分析:2.程序源代碼:/"circle*/#include"graphicsb”main(){intdriver,mode,i;floatj=l,k=l;drivei^VGA;mode=VGAHI;initgraph(&driver,&mode,,,n);setbkcolor(YELLOW);for(i=0;i<=25;i++)|setcolor(8);circle(310,250,k);k=k+j;j=j+0.3;

132【程序57]題目:畫(huà)圖,學(xué)用line畫(huà)直線。L程序分析:2.程序源代碼:#includengraphics.hnmain(){intdriver,mode,i;floatxO,yO,yl,xl;floatj=12,k;driver=VGA;mode=VGAHI;initgraph(&driver,&mode/,H);setbkcolor(GREEN);x0=263;y0=263;yl=275;xl=275;for(i=0;i<=18;i+4-){setcolor(5);line(xO,yO,xO,yl);x0=x0-5;y0=y0-5;xl=xl+5;yl=yl+5;j=j+10;)x0=263;yl=275;y0=263;for(i=0;i<=20;i++)(setcolor(5);Iine(xO,yO,xO,yl);x0=x0+5;y0=y0+5;yi=yi-5;【程序58]題目:畫(huà)圖,學(xué)用rectangle畫(huà)方形。1.程序分析:利用for循環(huán)控制100?999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。

1332.程序源代碼:#include"graphics.h"main(){intxO,yO,y1,x1,driver,mode,i;driven=VGA;mode=VGAHI;initgraph(&driver,&mode/M,);setbkcolor(YELLOW);x0=263;y0=263;yl=275;xl=275;for(i=0;i<=18;i++){setcolor(1);rectangle(xO,yO,xl,yl);x0=x0-5;yO=yO-5;xl=xl+5;yl=yl+5;}settextstyle(DEFAULT_FONT,HORIZ_DIR,2);2005-1-2211:31回復(fù)11樓outtextxy(150,40,nHowbeautifulitis!*');line(130,60,480,60);setcolor(2);circle(269,269,137);?zhlei81?11位粉絲■}【程序59]題目:畫(huà)圖,綜合例子。1.程序分析:2.程序源代碼:#definePAI3.1415926#defineB0.809#include"graphics.h'1#include"math.h"main()inti,j,k,x0,y0,x,y,driver,mode;floata;driveuCGA;mode=CGACO;

134initgraph(&driver,&mode,,M,);setcolor(3);setbkcolor(GREEN);x0=150;y0=100;circle(x0,y0,10);circle(x0,y0,20);circle(xO,yO,5O);for(i=0;i<16;i++)|a=(2*PAI/16)*i;x=ceil(xO+48*cos(a));y=ceil(yO+48*sin(a)*B);setcolor(2);line(xO,yO,x,y);)setcolor(3);circle(x0,y0,60);/*Make0timenormalsizeletters*/settextstyle(DEFAULT_FONT,HORIZ_DIR,0);outtextxy(10,170,"pressakey");getch();setfillstyle(HATCH_FILL,YELLOW);floodfill(202J00,WHITE);getch();for(k=0;k<=500;k-H-){setcolor(3);for(i=0;i<=16;i4-+){a=(2*PAI/16)*i+(2*PAI/l80)*k;x=ceil(x0+48*cos(a));y=ceil(yO-F48+sin(a)*B);setcolor(2);line(xO,yO,x,y);)for(j=l;j<=50;j++){a=(2*PAI/l6)*i+(2*PAI/l80)*k-l;x=ceil(x0+48*cos(a));y=ceil(y0-i48*sin(a)*B);line(x0,y0,x,y);restorecrtmodeO;【程序60]題目:畫(huà)圖,綜合例子。1.程序分析:

1351.程序源代碼:#include"graphicsb”#defineLEFT0#defineTOP0#defineRIGHT639#defineBOTTOM479#defineLINES400#defineMAXCOLOR15main()(intdriver,mode,error;intxl,yl;intx2,y2;intdx1,dy1,dx2,dy2,i=1;intcount=0;intcolor=0;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,"");xl=x2=yl=y2=10;dxl=dyl=2;dx2=dy2=3;while(!kbhit()){Iine(xl,yl,x2,y2);xl+=dxl;yl+=dyl;x2+=dx2;y2+dy2;if(xl<=LEFTIIxI>=RIGHT)dxl=-dxl;if(yl<=TOPIIy1>=BOTTOM)dyl="dyl;if(x2<=LEFTIIx2>=RIGHT)dx2=-dx2;if(y2<=TOPIIy2>=BOTTOM)dy2=-dy2;if(++count>LINES){setcolor(co!or);color=(color>=MAXCOLOR)?0:++color;

136?2005-1-2211:31?明?zhlei81?11位粉絲closegraph();12樓【程序61]題目:打印出楊輝三角形(要求打印出10行如下圖)1.程序分析:111121133114641151010512.程序源代碼:main(){intij;inta[10][10];printf("

137");for(i=0;i<10;i++){a[i][0]=l;a[i][i]=l;}foiji=2;i<10;i++)for(j=l;j

138");)【程序62]題目:學(xué)習(xí)putpixel畫(huà)點(diǎn)。1.程序分析:2.程序源代碼:#include"stdio.h"#include"graphics.h"main()

139{inti,j,driver=VGA,mode=VGAHl;initgraph(&driver,&mode,un);setbkcolor(YELLOW);for(i=50;i<=230;i+=20)for(j=50;j<=230;j++)putpixel(i,j,l);for(j=50;j<=230;j+=20)for(i=50;i<=230;i++)putpixel(ij,l);【程序63]題目:畫(huà)橢圓ellipse1.程序分析:2.程序源代碼:include“sldio.h"#include"graphics.h"#include"conio.h"main(){intx=360,y=160,drivei^VGA,mode=VGAHI;intnum=20,i;inttop,bottom;initgraph(&driver,&mode,'H,);top=y-30;bottom=y-30;fbr(i=O;i

140{intdriver=VGA,mode=VGAHI;inti,num=15,top=50;intleft=2O,right=5O;initgraph(&driver,&mode,,M,);for(i=0;i

141structPTSpoints[MAXPTS];inti,j,h,w,xcenter,ycenter;intradius,angle,step;doublerads;printf(MMoveTo/LineToDemonstration*');getviewsettings(&vp);h=vp.bottom-vp.top;w=vp.right-vp.left;xcenter=w/2;/*Determinethecenterofcircle*/ycenter=h/2;radius=(h-30)/(AspectRatio*2);step=360/MAXPTS;/*Determine#ofincrements*/angle=0;/*Beginatzerodegrees*/for(i=0;i

142題目:輸入3個(gè)數(shù)為b,c,按大小順序輸出。1.程序分析:利用指針?lè)椒ā?.程序源代碼:/?pointer*/main()|intnl,n2,n3;int*pointerI,*pointer2,*pointer3;printf("pleaseinput3number:n1,n2,n3:H);scanf("%d,%d,%d”,&nl,&n2,&n3);pointeri=&nI;pointer2=&n2;pointer3=&n3;if(nl>n2)swap(pointeri,pointer2);if(nl>n3)swap(pointer1,pointer3);if(n2>n3)swap(pointer2,pointer3);printf(Hthesortednumbersare:%d,%d,%d

143”,nl,n2,n3);}swap(pl,p2)int*pl,*p2;{intp;p=*pI;*pl=*p2;*p2=p;1【程序67]題目:輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組。1.程序分析:譚浩強(qiáng)的書(shū)中答案有問(wèn)題。2.程序源代碼:main(){intnumber]10];input(number);max_min(number);output(number);}input(number)intnumber!10];{inti;for(i=0;i<9;i++)scanf(M%d,M,&number[i]);scanf(M%d",&number[9]);

144)max_min(array)intarrayl10];{int*max,*min,kj;int*p,*arr_end;arr_end=array+10;max=min=array;fbr(p=array+1;pvarr_end;p++)if(*p>*max)max=p;elseif(*p<*min)min=p;k=*max;l=*min;*p=array[0];array[0]=l;l=*p;*p=array[9];array[9]=k;k=*p;return;}output(array)intarray[10];{int*p;fbr(p=array;p

145”,array[9]);【程序68]題目:有n個(gè)整數(shù),使其前面各數(shù)順序向后移m個(gè)位置,最后m個(gè)數(shù)變成最前面的m個(gè)數(shù)1.程序分析:2.程序源代碼:main()(intnumber[20],n,m,i;printf(Hthetotalnumbersis:");scanf(n%dn,&n);printfC'backm:n);scanf(n%d'\&m);for(i=0;i

146umber[i]);printf(n%d",number[n-l]);

147}move(array,n,m)intn,m,array[20];{int*p,array_end;array_end=*(array+n-1);fbr(p=array+n-l;p>array;p-)*p=*(p-l);*array=array_end;m—;if(m>0)move(array,n,m);【程序69]題目:有n個(gè)人圍成一圈,順序排號(hào)。從第一個(gè)人開(kāi)始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問(wèn)最后留下的是原來(lái)第兒號(hào)的那位。1.程序分析:2.程序源代碼:#definenmax50main()(inti,k,m,n,num[nmax],*p;printf("pleaseinputthetotalofnumbers:'1);scanf(',%d,,,&n);p=num;for(i=0;i

148m++;i++;if(i==n)i=0;)while(*p==0)p++;printf(H%disleft

149M,*p);}【程序70]題目:寫(xiě)一個(gè)函數(shù),求一個(gè)字符串的長(zhǎng)度,在main函數(shù)中輸入字符串,并輸出其長(zhǎng)度。1.程序分析:2.程序源代碼:main(){intlen;char*str[20];printf("pleaseinputastringAn1');scanf(',%s,',str);len=length(str);printf("thestringhas%dcharacters.n,len);}length(p)char*p;{intn;n=0;while(*p!=\0'){n++;P++;)returnn;2005-1-2211:32回復(fù)

150?zhiei81?11位粉絲【程序71]題目:編寫(xiě)input。和output。函數(shù)輸入,輸出5個(gè)學(xué)生的數(shù)據(jù)記錄。1.程序分析:2.程序源代碼:#defineN5structstudent{charnum|6];charname[8];intscore[4];}stu[N];input(stu)structstudentstu[];{inti,j;for(i=0;i

151pleaseinput%dof%d

152M,i+l,N);printf(“num:");scanf(M%s",stu[i].num);printf(Mname:”);scanf(M%sM,stu[i].name);for(j=0;j<3;j++){printf(nscore%d/\j+l);scanf(H%dn,&stu[i].score[j]);}))print(stu)structstudentstu[];{inti,j;printf(H

153No.NameScolSco2Sco3

154u);for(i=0;i

155");)}main()input();

156print();【程序72]題目:創(chuàng)建一個(gè)鏈表。1.程序分析:2.程序源代碼:/*creatalist*/#include"stdlib.h"#include"stdio.h"structlist{intdata;structlist*next;);typedefstructlistnode;typedefnode*link;voidmain(){linkptr,head;intnumj;ptr=(link)malloc(sizeof(node));ptr=head;printf(Hpleaseinput5numbers==>

157u);fbr(i=0;i<=4;i++){scanf(,'%d,',&num);ptr->data=num;ptr->next=(link)mal1oc(sizeof(node));if(i==4)ptr->next=NULL;elseptr=ptr->next;)ptr=head;while(ptr!=NULL){printf(MThevalueis=>%d

158M,ptr->data);ptr=ptr->next;【程序73]題目:反向輸出一個(gè)鏈表。1.程序分析:2.程序源代碼:Z*reverseoutputalist*/include,,stdlib.hM

159#include"stdio.h"structlist{intdata;structlist*next;};typedefstructlistnode;typedefnode*link;voidmain(){linkptr,head,tail;intnum,i;tail=(link)malloc(sizeof(node));tail->next=NULL;ptr=tail;printfCAnpleaseinput5data==>

160H);fbr(i=0;i<=4;i++){scanf(M%d",&num);ptr->data=num;head=(link)malloc(sizeof(node));head->next=ptr;ptr=head;)ptr=ptr->next;whiie(ptr!=NULL){printf(HThevalueis==>%d

161",ptr->data);ptr=ptr->next;})【程序74]題Fl:連接兩個(gè)鏈表。1.程序分析:2.程序源代碼:#includeMstdlib.hM#include"stdio.h"structlist{intdata;structlist*next;);typedefstructlistnode;typedefnode*link;

162linkdelete_node(linkpointerjinktmp){if(tmp=NULL)/*deletefirstnode*/returnpointer->next;else{if(tmp->next->next==NULL)/*deletelastnode*/tmp->next=NULL;else/*deletetheothernode*/tmp->next=tmp->next->next;returnpointer;}}voidselection_sort(Iinkpointer,intnum){linktmp,btmp;inti,min;fbr(i=O;idata;btmp=NULL;while(tmp->next){if(min>tmp->next->data){min=tmp->next->data;btmp=tmp;)tmp=tmp->next;}printf(n\40:%d

163M,min);15樓?2005-1-2211:32?回復(fù)?zhlei81?11位粉絲pointer=delete_node(pointer,btmp);})linkcreate_list(intarray[],intnum){linktmpl,tmp2,pointer;inti;pointer=(link)malloc(sizeof(node));pointer->data=array[0];tmpl=pointer;fbr(i=l;inext=NULL;tmp2->data=array[i];

164tmpl->next=tmp2;tmpl=tmpl->next;}returnpointer;}linkconcatenate(linkpointeri,linkpointer2){linktmp;tmp=pointerl;while(tmp->next)tmp=tmp->next;tmp->next=pointer2;returnpointeri;)voidmain(void){intarrl[>{3,12,8,9,11);linkptr;plr=creale」ist(arrl,5);selection_sort(ptr,5);【程序75]題目:放松一下,算一道簡(jiǎn)單的題目。1.程序分析:2.程序源代碼:main(){inti,n;fbr(i=l;i<5;i++){n=0;if(i!=l)n=n+1;if(i==3)n=n+1;if(i==4)n=n+1;if(i!=4)n=n+1;if(n=3)printf("zhuhaoshideshi:%c*',64+i);【程序76]題目:編寫(xiě)一個(gè)函數(shù),輸入n為偶數(shù)時(shí),調(diào)用函數(shù)求1/2+l/4+...+l/n,當(dāng)輸入n為奇數(shù)時(shí),調(diào)用函數(shù)1/1+1/3+...+1/n(利用指針函數(shù))1.程序分析:

1651.程序源代碼:main()#include"stdio.h"main()(floatpeven(),podd(),dcall();floatsum;intn;while(1){scanf("%d”,&n);if(n>l)break;)if(n%2==0){printf(,,Even=H);sum=dcall(peven,n);}else{printf(,'Odd='*);sum=dcall(podd,n);}prinlf("%F',sum);}floatpeven(intn)(floats;inti;s=l;fbr(i=2;i<=n;i+=2)s+=l/(float)i;return(s);floatpodd(n)intn;(floats;inti;s=0;for(i=l;i<=n;i+=2)s+=l/(float)i;retum(s);}

166floatdcall(fp,n)float(*fp)();intn;{floats;s=(*fp)(n);retum(s);}【程序77]題目:填空練習(xí)(指向指針的指針)1.程序分析:2.程序源代碼:main(){char*s[]={"man,';,woman,,;,girr\',boy,,;'sisterH};char**q;intk;for(k=0;k<5;k++){;/*這里填寫(xiě)什么語(yǔ)句*/printf("%s

167",*q);【程序78]題目:找到年齡最大的人,并輸出。請(qǐng)找出程序中有什么問(wèn)題。1.程序分析:2.程序源代碼:#defineN4#include"stdio.h"staticstructman{charname[20];intage;}person[N]={"li,;18/'wangM9?,zhang';20,"sun,',22);main(){structman*q,*p;inti,m=0;p=person;for(i=0;iage)q=p++;m=q->age;}printf(,,%s,%d',,(*q).name,(*q).age);

168【程序79]題目:字符串排序。1.程序分析:2.程序源代碼:main()(char*strl[20],*str2[20],*str3[20];charswap();printf("pleaseinputthreestrings

169u);scanf("%s”,strl);scanf("%s”,str2);scanf("%s",str3);if(strcmp(strl,str2)>0)swap(strl,str2);if(strcmp(strl,str3)>0)swap(strl,str3);if(strcmp(str2,str3)>0)swap(str2,str3);printf("afterbeingsorted

170M);printf("%s

171%s

172%s

173M,strl,str2,str3);)charswap(pl,p2)char*pl,*p2;(char*p[20];strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);【程序80]

174題目:海灘上有一堆桃子,五只猴子來(lái)分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問(wèn)海灘上原來(lái)最少有多少個(gè)桃子?1.程序分析:2.程序源代碼:main(){inti,mJ,k,count;for(i=4;i<10000;i+=4){count=0;m=i;for(k=0;k<5;k++){j=i/4*5+l;i=j;if(j%4==0)count++;elsebreak;)i=m;if(count==4){printf("%d

175”,count);break;}?2005-1-2211:32??zhlei81?11位粉絲16樓【程序81]題目:809*??=800*??+9*??+l其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),尹??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。1.程序分析:2.程序源代碼:output(longbjongi){printf(',

176%ld/%ld=809*%ld+%ld,\b,i,i,b%i);)main()

177{longinta,b,i;a=809;for(i=10;i<100;i++){b=i*a+l;if(b>=IO(X)&&b<=10000&&8*i<100&&9*i>=l()0)output(b,i);}【程序82]題目:八進(jìn)制轉(zhuǎn)換為十進(jìn)制1.程序分析:2.程序源代碼:main(){char*p,s[6];intn;p=s;gets(p);n=0;while(*(p)!=,\0'){n=n*8+*p-,O*;P++;}printf("%d",n);)【程序83]題目:求0—7所能組成的奇數(shù)個(gè)數(shù)。1.程序分析:2.程序源代碼:main()(longsum=4,s=4;intj;for(j=2;j<=8;j++)/*jisplaceofnumber*/{printf(',

178%ld,,,sum);if(jv=2)s*=7;elses*=8;sum+=s;}printf(,,

179sum=%ld',,sum);【程序84]題目:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。1.程序分析:2.程序源代碼:includenstdio.h"

180include"math.h"main(){inta,b,c,d;scanf(n%d",&a);for(b=3;b<=a/2;b+=2){for(c=2;c<=sqrt(b);c++)if(b%c=O)break;if(c>sqrt(b))d=a-b;elsebreak;for(c=2;c<=sqrt(d);c4-+)if(d%c=O)break;if(c>sqrt(d))printf(,,%d=%d+%d

181,',a,b,d);【程序85]題目:判斷一個(gè)素?cái)?shù)能被幾個(gè)9整除1.程序分析:2.程序源代碼:main(){longintm9=9,sum=9;intzi,nl=l,c9=l;scanf(n%dH,&zi);while(nl!=0){if(!(sum%zi))nl=0;else{m9=m9*10;sum=sum+m9;c9++;prinlf("%ld,canbedividedby%d\,,9\,,,\sum,c9);【程序86]題目:兩個(gè)字符串連接程序1.程序分析:2.程序源代碼:#include"stdio.h"main(){chara[]=',acegikmn;charb[]=,,bdfhjlnpqn;charc[80],*p;

182inti=O,j=O,k=O;while(a[i]!=W&&b|j]!=\O'){if(a[i]{c[k]=a[i];i++;)elsec[k]=b[j++];k++;)c[k]=W;if(a[i]==W)P=b+j;elsep=a+i;strcat(c,p);puts?;}【程序87]題目:回答結(jié)果(結(jié)構(gòu)體變量傳遞)1.程序分析:2.程序源代碼:#include"stdio.h"structstudent{intx;charc;}a;main(){a.x=3;a.c='a,;f(a);printf(,,%d,%c,\a.x,a.c);)f(structstudentb){b.x=20;b.c=y;【程序88]題目:讀取7個(gè)數(shù)(1-50)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的*。1.程序分析:2.程序源代碼:main()

183{inti,a,n=l;while(n<=7){do{scanf(”%d”,&a);}while(a50);fbr(i=l;i<=a;i++)printf(,,*M);printf(H

184M);n++;}getch();【程序89]題目:某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。1.程序分析:2.程序源代碼:main(){inta,i,aa[4],t;scanf("%d”,&a);aa[0]=a%10;aa[l]=a%100/10;aa[2]=a%1000/100;aa[3]=a/1000;

185for(i=0;i<=3;i++){aa[i]+=5;aa[i]%=10;}for(i=0;i<=3/2;i++){t=aa[i];aa[i]=aa[3-i];aa[3-i]=t;}for(i=3;i>=0;i—)printf("%d",aa|i]);)【程序90]題目:專(zhuān)升本一題,讀結(jié)果。1.程序分析:2.程序源代碼:include"stdio.h"#defineM5main(){inta[M]={l,2,3,4,5);inti,j,t;i=0;j=M-l;while(i{t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;i++;j-;}for(i=0;iprintf("%d",*(a+i));?2005-1-2211:3317樓?zhlei81?11位粉絲【程序91]題目:時(shí)間函數(shù)舉例11.程序分析:2.程序源代碼:#include"stdio.h"#include"time.h"voidmain()?{time」It;/*definealonginttimevarible*/lt=time(NULL);/*systemtimeanddate*/printf(ctime(<));/*englishformatoutput*/printf(asctime(localtime(<)));/*tranfertotm*/printf(asctime(gmtime(<)));/*tranfertoGreenwichtime*/

186【程序92]題目:時(shí)間函數(shù)舉例21.程序分析:2.程序源代碼:/*calculatetime*/#include"time.h"#include"stdio.h"main(){time_tstart,end;inti;start=time(NULL);for(i=0;i<3000;i++){printf(,M\l\l\l\l\l\l\l\l\l

187n);}end=time(NULL);printf(H\l:Thedifferentis%6.3f

188M,difftime(end,start));【程序93]題目:時(shí)間函數(shù)舉例31.程序分析:2.程序源代碼:/"calculatetime*/#include"time.h"#include"stdio.h"main(){clock」start,end;inti;doublevar;start=clock();for(i=0;i<10000;i+4-){printf(''\l\l\l\l\l\l\l\l\l\l

189M);}end=clock();printf("\l:Thedifferentis%6.3f

190",(double)(end-start));【程序94]題目:時(shí)間函數(shù)舉例4,一個(gè)猜數(shù)游戲,判斷一個(gè)人反應(yīng)快慢。(版主初學(xué)時(shí)編的)1.程序分析:2.程序源代碼:#include"time.h"#includenstdlib.hMincludenstdio.hMmain(){charc;

191clock_tstart,end;time_ta,b;doublevar;inti,guess;srand(time(NULL));printf(ndoyouwanttoplayit.(*y'or'n')

192H);loop:while((c=getchar())=='y,)(i=rand()%100;printf("

193pleaseinputnumberyouguess:

194°);start=clock();a=time(NULL);scanf(n%d'\&guess);while(guess!=i){if(guess>i){printf("pleaseinputalittlesmallerAn'*);scanf(n%d';&guess);)else{printf(Mpleaseinputalittlebigger.

195M);scanf(n%d'\&guess);})end=clock();b=time(NULL);printf(H\l:Ittookyou%6.3fseconds

196M,var=(double)(end-start)/18.2);printf(H\l:ittookyou%6.3fseconds

197

198,\difftime(b,a));if(var<15)printf(H\l\lYouareveryclever!\l\l

199

200M);elseif(var<25)printf(H\l\lyouarenormal!\l\l

201

202H);elseprintf(H\l\lyouarestupid!\l\l

203

204n);printf(n\l\lCongradulations\l\l

205

206");printf("Thenumberyouguessis%d'\i);}printf(H

207doyouwanttotryitagain?(\"yy\".or.\,,n\',)

208'');if((c=getch())=y)gotoloop;}【程序95]

209題目:家庭財(cái)務(wù)管理小程序1.程序分析:2.程序源代碼:/*moneymanagementsystem*/include"stdio.h"#include"dos.h"main()(FILE*fp;structdated;floatsum,chm=0.0;intlen,i,j=0;intc;charch[4]=,H,,ch1[16]=,u\chtime[12]=,,n,chshop[16],chmoney[8];pp:clrscr();sum=0.0;gotoxy(l,l);printf(“l(fā)1〉;gotoxy(1,2);printf("lmoneymanagementsystem(Cl.O)2000.03I”);gotoxy(l,3);printf(nl12;gotoxy(l,4);printf('1—moneyrecords-I—todaycostlist-I”);2005-1-2211:33

210?zhlei81?11位粉絲gotoxy(1,5);pnntf("lI1”);gotoxy(l,6);printf('ldate:11");gotoxy(l,7);printf("lllll)gotoxy(l,8);printf(ul111');gotoxy(h9);printf('lthgs:IF);gotoxy(l,10);printf(,,l11110);gotoxy(l,ll);printf(MlII”);gotoxy(l,12);printf(Mlcost:IF);gotoxy(l,13);printf(T,l1111");gotoxy(lJ4);printf(r,lIF);gotoxy(l,15);printf("lIlH);gotoxy(l,16);printf(HlIln);gotoxy(l,17);printf(MlIlH);gotoxy(1J8);printf(MlIlM);gotoxy(lJ9);printf("lIlM);gotoxy(l,20);printf("l11");gotoxy(l,21);printf(nlIln);gotoxy(l,22);printf(,,lIlM);gotoxy(l,23);printf(Ml「);i=0;getdate(&d);sprintf(chtime,',%4d.%02d.%02d'\d.da_year,d.da_mon,d.da_day);foK;;)(gotoxy(3,24);printf("Tab_browsecostlistEsc_quit");gotoxy(13,10);printf(**°);gotoxy(13,13);printf("");gotoxy(13,7);printf(f,%sf\chtime);j=18;ch[0]=getch();if(ch[0]==27)break;strcpy(chshop,,n,);strcpy(chmoney,,M,);if(ch[0]==9)(mm:i=0;

211fp=fopen(Mhome.datH,°r+”);gotoxy(3,24);primf("");gotoxy(6,4);printfC,listrecords");gotoxy(1,5);printf(',l1”);gotoxy(41,4);printfCn);gotoxy(41,5);printf("10);while(fscanf(fp,,,%10s%14s%f

212,\chtime,chshop,&chm)!=EOF){if(i==36){getch();i=0;}if((i%36)<17){gotoxy(4,6+i);printf(nM);gotoxy(4,6+i);Jelseif((i%36)>16){gotoxy(41,4+i-17);printf(MM);gotoxy(42,4+i-17);}i++;sum=sum+chm;printf(**%10s%-14s%6.1f

213u,chtime,chshop,chm);}gotoxy(l,23);printf(,,l「);gotoxy(b24);printf(MllH);gotoxy(l,25);printf(Ml「);gotoxy(10,24);printf("totalis%8.1f$",sum);fclose(fp);gotoxy(49,24);printf(Mpressanykeyto..…M);getch();gotopp;Ielse(while(ch[O]!=V){ifijvlO){strncat(chtime,ch,1);j++;}if(ch[0]==8){len=strlen(chtime)-1;if(j>?5){len=len+l;j=l1;}

214strcpy(chl,,,M);j=j-2;strncat(chl,chtime,len);strcpy(chtime,'M,);strncat(chtime,chl,len-l);gotoxy(13,7);printf(wM);)gotoxy(l3,7);printf(,,%s,\chtime);ch[0]=getch();if(ch[0]==9)gotomm;if(ch[0]==27)exit(l);}gotoxy(3,24);printf(MM);gotoxy(13,10);j=0;ch[0]=getch();while(ch|O]!='\r'){if(j<14){strncat(chshop,ch,1);j++;}if(ch[0]==8){len=strlen(chshop)-l;strcpy(chl,,,M);j=j-2;strncat(chl,chshop,len);strcpy(chshop,"H);strncat(chshop,ch1,len-l);gotoxy(13,10);printf(M'1);}gotoxy(13,10);printf(M%s,,,chshop);ch[0]=getch();}gotoxy(13,13);j=0;ch[0]=getch();while(ch[O]!=V){if0<6){strncat(chmoney,ch,1);j++;}if(ch[0]==8){len=strlen(chmoney)-1;strcpy(chl;H,);j=j-2;strncat(chl,chmoney,len);strcpy(chmoney,,H');strncat(chmoney,ch1,len-l);

215gotoxy(13,13);printf(Mn);)gotoxy(13,13);printf(M%s,',chmoney);ch[0]=getch();}if((strlen(chshop)=0)ll(strlen(chmoney)==0))continue;if((fp=fbpen(Mhome.dat,,,,,a+M))!=NULL);fprintf(fp,H%10s%14s%6s",chtime,chshop,chmoney);fputc(

216\fp);fclose(fp);i++;gotoxy(41,5+i);printf(M%10s%-14s%-6sM,chtime,chshop,chmoney);})}【程序96]題目:計(jì)算字符串中子串出現(xiàn)的次數(shù)1.程序分析:2.程序源代碼:#include"string.h"includeHstdio.hnmain(){charstr1[20],sti2[20],*p1,*p2;intsum=0;printf(Hpleaseinputtwostrings

217M);scanf(',%s%s,,,strl,str2);pl=strl;p2=str2;while(*pl!=、0){if(*pl=*p2){while(*pl==*p2&&*p2!=W){pl++;p2++;}}elsepl++;if(*p2=,\0,)sum++;p2=str2;}printf(,,%d,,,sum);getch();}【程序97]

218題目:從鍵盤(pán)輸入一些字符,逐個(gè)把它們送到磁盤(pán)上去,直到輸入一個(gè)#為止。1.程序分析:2.程序源代碼:#include"stdio.h"main(){FILE*fp;charch,filename[10];scanf("%s”,fHename);if((fp=fopen(filename,,,w,,))==NULL){printf(Mcannotopenfile

219H);exit(0);)ch=getchar();ch=getchar();while(ch!='#'){fputc(ch,fp);putchar(ch);ch=getchar();}fclose(fp);【程序98]題目:從鍵盤(pán)輸入一個(gè)字符串,將小寫(xiě)字母全部轉(zhuǎn)換成大寫(xiě)字母,然后輸出到一個(gè)磁盤(pán)文件“test”中保存。輸入的字符串以!結(jié)束。1.程序分析:2.程序源代碼:#include"stdio.h"main(){FILE*fp;charstr[100],filename[10];inti=0;if((fp=fopen(MtestM,,,w,,))==NULL){printf(Hcannotopenthefile

220M);exit(0);)printf(''pleaseinputastring:

221H);gets(str);while(str!=,!1){if(str>=,a'&&str<=,z,)str=str-32;fputc(str,fp);i++;)

222fclose(fp);fp=fopen(',test,,;,r,');fgets(str,strlen(str)+1,fp);printf(M%s

223n,str);fclose(fp);}?2005-1-2211:33?19樓【程序991題目:有兩個(gè)磁盤(pán)文件A和B,各存放一行字母,要求把這兩.個(gè)文件中的信息合并(按字母順序排列),?vc99輸出到一個(gè)新文件C中.?二位粉絲1.程序分析:T2.程序源代碼:#include"stdio.h"main(){FILE*fp;inti,j,n,ni;charc[160],t,ch;if((fp=fopen(MA";,r',))=NULL){printf(MfileAcannotbeopened

224");exit(0);)printf(u

225Acontentsare:

226H);for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;pulchar(c[i]);)fclose(fp);ni=i;if((fp=fopen(MBM,MrM))=NULL){printf(MfileBcannotbeopened

227u);exit(0);)printf(*'

228Bcontentsare:

229n);for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);)fclose(fp);n=i;fbr(i=0;ic[j]){t=c[i];c[i]=c[j];c[j]=t;}printf("

230Cfileis:

231H);fp=fopen(,,CH,,,wn);fbr(i=O;i

2321.程序分析:2.程序源代碼:#include"stdio.h"structstudent{charnum[6];charname[8];intscore[3];floatavr;}stu[5];main(){inti,j,sum;FILE*fp;/*input*/fbr(i=0;i<5;i++){printf(u

233pleaseinputNo.%dscoreAn*',1);printf(*'stuNo:n);scanf("%sH,stu[i].num);printf("name:");scanf("%s",stu|iJ.name);sum=0;for(j=0;jv3;j++){printf("score%d.",j+l);scanf("%d”,&slu[i].score[j]);sum+=stu[i].score|j];stu[i].avr=sum/3.0;)fp=fopen(Hstud',;,wH);for(i=0;i<5;i++)if(fwrite(&stu[i],sizeof(structstudent),l,fp)!=1)printf(Hfilewriteerror

234H);fclose(fp);

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。
關(guān)閉