經(jīng)典C源程序100例_c語言吧_貼吧經(jīng)典C源程序100例

經(jīng)典C源程序100例_c語言吧_貼吧經(jīng)典C源程序100例

ID:83040849

大?。?2.98 KB

頁數(shù):58頁

時間:2023-09-20

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

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

經(jīng)典C源程序100例_c語言吧一貼吧經(jīng)典C源程序100例注冊I登錄貼吧商城隆重開張了!可用貼吧豆購買各種神奇道具。去逛逛商城>>新聞網(wǎng)頁貼吧知道MP3圖片視頻百科吧內(nèi)搜索I幫助進入貼吧進入i貼吧貼子搜索百度貼吧>c語言吧>瀏覽貼子吧主:kamimata快速回復(fù)切換到經(jīng)典版貼吧投訴函數(shù)發(fā)生器安捷倫代理商Agilent函數(shù)發(fā)生器現(xiàn)貨銷售.可提供多種波形,滿足各種測量要求中..www.cecec.com.cn天馬消毒餐具的利潤專業(yè)..天馬消毒餐具的利潤,分期付款,扶持創(chuàng)業(yè).經(jīng)國家IS09001認證,信譽..www.hktmtk.com賽浪風(fēng)靡全球汽車美容利潤..全球霸主品牌,新車年年暴增行業(yè)超10000個成功店鋪!8千萬車主逼你..www.supzone.com鐳德杰鑄就國產(chǎn)大字符噴碼..大字符噴碼機制造商,上海鐳德杰噴碼技術(shù)有限公司是一家集生產(chǎn),銷..www.leadjet.com.cn英國邦納福時尚洗衣店加盟..英國邦納福時尚洗衣店加盟連鎖,洗衣行業(yè)典范,洗衣貴族品牌.免費..www.brocade.sh.cn紀(jì)州KGK小字符墨水噴碼機日本最完美小字符墨水噴碼機質(zhì)量一流小字符墨水噴碼機免費熱線80..www.jizhou.com.cn投資1800,年賺10萬不算啥一臺用腦一部電話創(chuàng)業(yè),不租房不進貨也能開店;無加盟費無代理費一www.yamego.cn轉(zhuǎn)貼次數(shù):107共有2094篇貼子12345678910下一頁尾頁經(jīng)典C源程序100例zhlei8135位粉絲1樓【程序1】題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?1.程序分析:可填在百位、十位、個位的數(shù)字都是I、2、3、4。組成所有的排列后再去掉不滿足條件的排列。

11.程序源代碼:main()[inti,j,k;printf("

2");for(i=l;i<5;i++)/*以下為三重循環(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

3",ij,k);)【程序2】題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤⑴低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬至IJ60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎金總數(shù)?1.程序分析:請利用數(shù)軸來分界,定位。注意定義時需把獎金定義成長整型。2.程序源代碼:main()(longinti;intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(n%ld",&i);bonus1=100000*0.1;bonus2=bonusl+l00000*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)bonus=bonus2+(i-200000)*0.05;elseif(i<=600000)bonus=bonus4+(i-400000)*0.03;elseif(i<=1000000)bonus=bonus6+(i-600000)*0.015;

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

5%ld

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

7pleaseinputyear,month,day

8u);scanf(,,%d,%d,%dM,&year,&month,&day);switch(month)/*先計算某月以前月份的總天數(shù)*/(casel:sum=O;break;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;

9case5:sum=120;break;case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;2005-1-2211:29回復(fù)zhlei8135位粉絲2樓case10:sum=273;break;casell:sum=304;break;case12:sum=334;break;default:printf("dataerror");break;)sum=sum+day;/*再加上某天的天數(shù)*/if(year%400==0ll(year%4==0&&year%100!=0))/*判斷是不是閏年*/leap=1;elseleap=0;if(leap==l&&month>2)/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*/sum++;printf("Itisthe%dthday.'1,sum);)【程序5】題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然后再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使X最小。2.程序源代碼:main()(intx,y,z,t;scanf("%d%d%d",&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的值*/if(y>z){t=y;y=z;z=t;}/*交換z,y的值*/printf("smalltobig:%d%d%d

10",x,y,z);

11【程序6】題目:用*號輸出字母C的圖案。1.程序分析:可先用'型號在紙上寫出字母C,再分行輸出。2.程序源代碼:#include"stdio.h"main()(printf("HelloC-world!

12n);printf(H****

13");printf(H*

14");printf("*

15u);printf(H****

16”);【程序7】題目:輸出特殊圖案,請在c環(huán)境中運行,看一看,VeryBeautiful!1.程序分析:字符共有256個。不同字符,圖形不一樣。3.程序源代碼:#include"stdio.h"main()(chara=176,b=219;printf(M%c%c%c%c%c

17',,b,a,a,a,b);printf(M%c%c%c%c%c

18,',a,b,a,b,a);printf(M%c%c%c%c%c

19H,a,a,b,a,a);printf(M%c%c%c%c%c

20w,a,b,a,b,a);printf(M%c%c%c%c%c

21',,b,a,a,a,b);}【程序8】題目:輸出9*9口訣。1.程序分析:分行與列考慮,共9行9歹lj,i控制行,j控制列。2.程序源代碼:#include"stdio.h"main()inti,j,result;printf(n

22n);for(i=l;i<10;i++){for(j=l;j<10;j++)(result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,占3位*/)printf("

23");/*每一行后換行*/)

24【程序9】題目:要求輸出國際象棋棋盤。1.程序分析:用i控制行,j來控制列,根據(jù)i+j的和的變化來控制輸出黑方格,還是白方格。2.程序源代碼:#include"stdio.h"main()(inti,j;for(i=0;i<8;i++)(for(j=0;j<8;j++)if((i+j)%2=0)printf("%c%c",219,219);elsepnntf("");printf("

25");))【程序10]題目:打印樓梯,同時在樓梯上方打印兩個笑臉。1.程序分析:用i控制行,j來控制列,j根據(jù)i的變化來控制輸出黑方格的個數(shù)。2.程序源代碼:#include"stdio.h"main()(inti,j;printffUVXn");/*輸出兩個笑臉*/fdr(i=l;i

261.程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....2.程序源代碼:main()(longfl,f2;inti;fl=£2=1;for(i=l;i<=20;i++){printf("%121d%121d",fl,f2);if(i%2=0)printf("

27");/*控制輸出,每行四個*/fl=fl+f2;/*前兩個月加起來賦值給第三個月*/f2=fl+f2;/*前兩個月加起來賦值給第三個月*/))【程序12]題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。2.程序源代碼:#include"math.h"main()(intm,i,k,h=0Jeap=1;printf("

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

29n);}leap=1;)printf(M

30Thetotalis%dH,h);【程序131題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因為153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。

311.程序源代碼:main()(inti,j,k,n;printf("'waterflower'numberis:");for(n=100;n<1000;n++)(i=n/l00;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出個位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)(printf("%-5d",n);))printf("

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

33pleaseinputanumberiXn1');scanf(H%d",&n);printf(M%d=H,n);for(i=2;i<=n;i++)(while(n!=i)(if(n%i==O){printf("%d*",i);n=n/i;)

34elsebreak;printf(n%du,n);}【程序15]題目:利用條件運算符的嵌套來完成此題:學(xué)習(xí)成績>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b這是條件運算符的基本例子。2.程序源代碼:main()(intscore;chargrade;printf("pleaseinputascore

35n);scanf("%d”,&score);grade=score>=90?,A,:(score>=60?'B':'C,);printf("%dbelongsto%c0,score,grade);)【程序16]題目:輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。2005-1-2211:30回復(fù)zhlei8135位粉絲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;

36while(b!=0)/*利用輾除法,直到b為0為止*/(temp=a%b;a=b;b=temp;}printf(Mgongyueshu:%d

37M,a);printf(,,gongbeishu:%d

38",num1*num2/a);【程序17]題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。1.程序分析:利用while語句,條件為輸入的字符不為2.程序源代碼:#include"stdio.h"main(){charc;intletters=0,space=0,digit=0,others=0;printf("pleaseinputsomecharacters

39u);while((c=getchar())!='

40')(if(c>=,a,&&c<=,z,llc>=,A,&&c<='Z,)letters++;elseif(c==**)space++;elseif(c>=,0,&&c<=,9,)digit++;elseothers++;printf("allinall:char=%dspace=%ddigit=%dothers=%d

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

42H);scanf(n%d,%d';&a,&n);

43printf(,'a=%d,n=%d

44",a,n);while(count<=n)(tn=tn+a;sn=sn+tn;a=a*10;++count;)printf(,,a4-aa+...=%ld

45',,sn);)【程序19]題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6=1+2+3.編程找出1000以內(nèi)的所有完數(shù)。1.程序分析:請參照程序〈-上頁程序14.2.程序源代碼:main()(staticintk[10];inti,j,n,s;for(j=2;j<1000;j++)(n=-l;s=j;for(i=l;i{if((j%i)==O){n++;s=s-i;k[n]=i;))if(s==O)(printf(M%disawanshu*',j);for(i=0;iprintf(,,%d,,;k[i]);printf(n%d

46M,k[n]);【程序20]題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?

471.程序分析:見下面注釋2.程序源代碼:main()(floatsn=100.0,hn=sn/2;intn;for(n=2;n<=10;n++)(sn=sn+2*hn;/*第n次落地時共經(jīng)過的米數(shù)*/hn=hn/2;/*第n次反跳高度*/)printf("thetotalofroadis%f

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

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

50,,,xl);【程序22]

51題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。2.程序源代碼:main()(chari,j,k;/*i是a的對手,j是b的對手,k是c的對手*/for(i='x';i<='z';i++)for(j='x';j<='z';j++)(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

52",i,j,k);)))【程序23]題目:打印出如下圖案(菱形)******1.程序分析:先把圖形分成兩部分來看待,前四行一個規(guī)律,后三行一個規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。2.程序源代碼:main()(inti,j,k;for(i=0;i<=3;i++)(for(j=0;j<=2-i;j++)printf(Hn);for(k=0;k<=2*i;k++)printf("*n);printf(,,

53,');

54}for(i=0;i<=2;i++)(for(j=0;j<=i;j++)printfC'H);for(k=0;k<=4-2*i;k++)printf("*H);printf(W);1【程序24]題目:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13…求出這個數(shù)列的前20項之和。1.程序分析:請抓住分子與分母的變化規(guī)律。2?程序源代碼:main()intn,t,number=20;floata=2,b=l,s=0;for(n=1;n<=number;n-H-)s=s+a/b;t=a;a=a+b;b=t;/*這部分是程序的關(guān)鍵,請讀者猜猜t的作用*/)printf("sumis%9.6f

55",s);)【程序25]題目:求1+2!求!+...+20!的和1.程序分析:此程序只是把累加變成了累乘。2.程序源代碼:main()(floatn,s=0,t=l;for(n=1;n<=20;n++)(t*=n;s+=t;)printf("l+2!+3!...+20!=%e

56",s);【程序26]題目:利用遞歸方法求5!。1.程序分析:遞歸公式:fn=fn_l*4!2.程序源代碼:#include"stdio.h"

57main()(inti;intfact();for(i=0;i<5;i-H-)printf(n\40:%d!=%d

58'\i,fact(i));)intfact(j)intj;(intsum;ifG==O)sum=1;elsesum=j*fact(j-l);returnsum;【程序27]題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的5個字符,以相反順序打印出來。1.程序分析:2.程序源代碼:#include"stdio.h"main()(inti=5;voidpalin(intn);2005-1-2211:30回復(fù)zhlei8135位粉絲3樓printf("\40:M);palin(i);printf("

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

60\0:u);putchar(next);)

61else(next=getchar();palin(n-l);putchar(next);)【程序28]題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?1.程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數(shù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。2.程序源代碼:age(n)intn;(intc;if(n==l)c=10;elsec=age(n-l)+2;return©;)main(){printf(M%d\age(5));【程序29]題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。1.程序分析:學(xué)會分解出每一位數(shù),如下解釋:(這里是一種簡單的算法,師專數(shù)002班趙鑫提供)2.程序源代碼:main(){longa,b,c,d,e,x;scanf(u%ld,\&x);a=x/l0000;/*分解出萬位*/b=x%10000/1000;/*分解出千位*/c=x%1000/100;/*分解出百位*/d=x%100/10;/*分解出十位*/e=x%10;/*分解出個位*/if(a!=0)printf("thereare5,%ld%ld%ld%ld%ld

62u,e,d,c,b,a);

63elseif(b!=0)printf("thereare4,%ld%ld%ld%ld

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

65n,e,d,c);elseif(d!=0)printf(''thereare2,%ld%ld

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

67M,e);【程序30]題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。1.程序分析:同29例2.程序源代碼:main()longge,shi,qian,wan,x;$canf("%kT,&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge==wan&&shi=qian)/*個位等于萬位并且卜位等于千位*/printf("thisnumberisahuiwen

68H);elseprintf("thisnumberisnotahuiwen

69n);)2005-1-2211:30回復(fù)zhlei8135位粉絲7樓程序31】題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)判斷第二個字母。1.程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母。2.程序源代碼:#includevoidmain()(charletter;printf(npleaseinputthefirstletterofsomeday

70M);while((letter=getchO)!=Y)/*當(dāng)所按字母為Y時才結(jié)束*/{switch(letter){case'S':printf("pleaseinputsecondletter

71M);

72if((letter=getch())==,a,)printf(nsaturday

73");elseif((letter=getch())==,u,)printf(Msunday

74H);elseprintf("dataerror

75M);break;case'F':printf(nfriday

76n);break;case'M':printf("monday

77");break;caseT:printf("pleaseinputsecondletter

78H);if((letter=getch())==u,)printf(Htuesday

79");elseif((letter=getch())==,h,)printf("thursday

80");elseprintf("dataerror

81K);break;case*W,:printf(,'wednesday

82,,);break;default:printf(ndataerror

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

84",color);cprintf(*'Pressanykeytocontinue\r

85n);getch。;/*輸入字符看不見*/)}【程序33]題目:學(xué)習(xí)gotoxy()與clrscr()函數(shù)1.程序分析:2.程序源代碼:#includevoidmain(void)

86(clrscrO;/*清屏函數(shù)*/textbackground(2);gotoxy(1,5);/*定位函數(shù)*/cprintf(MOutputatrow5columnl

87H);textbackground(3);gotoxy(20,10);cprintf(nOutputatrow10column20

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

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

90",color);)textcolor(128+15);cprintf(*'Thisisblinking\r

91H);}

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

93M);line=0;}}【程序37]題目:對10個數(shù)進行排序1.程序分析:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換,下次類推,即用第二個元素與后8個進行比較,并進行交換。2.程序源代碼:#defineN10main(){inti,j,min,tem,a[N];/*inputdata*/printf("pleaseinputtennum:

94n);

95for(i=0;i

96");for(i=0;i

97n);/*sorttennum*/for(i=0;ia[j])min=j;tem=a[i];a[i]=a[min];a[min]=tem;)/*outputdata*/printf("Aftersorted

98");for(i=0;i

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

100");for(i=0;i<10;i++)printf(M%5dn,a[i]);printf("

101n);

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

103originalarray:

104u);for(i=0;i

105sortedarray:

106");for(i=0;i

10735位粉絲10樓【程序51]題目:學(xué)習(xí)使用按位與&。1.程序分析:0&0=0;0&1=0;1&0=0;1&1=12.程序源代碼:#include"stdio.h"main(){inta,b;a=077;b=a&3;printf(M\40:Thea&b(decimal)is%d

108n,b);b&=7;printfCMO:Thea&b(decimal)is%d

109n,b);【程序52]題目:學(xué)習(xí)使用按位或I.1.程序分析:010=0;011=1;110=1;111=12.程序源代碼:#include"stdio.h"main()(inta,b;a=077;b=al3;printf(M\40:Thea&b(decimal)is%d

110M,b);bl=7;printf("\40:Thea&b(decimal)is%d

111",b);)【程序53]題目:學(xué)習(xí)使用按位異或A?1.程序分析:。八0=0;07=1;1八0=1;17=02.程序源代碼:#include"stdio.h"main()(inta,b;a=077;b=aA3;printfCMO:Thea&b(decimal)is%d

112n,b);bA=7;printfC'\40:Thea&b(decimal)is%d

113",b);

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

115%o

116H,a,d);}【程序55]題目:學(xué)習(xí)使用按位取反,1.程序分析:~0=1;-1=0;2.程序源代碼:#include"stdio.h"main()(inta,b;a=234;3二?a;printf("\40:Thea's1complement(decimal)is%d

117",b);a=~a;printf("\40:Thea,s1complement(hexidecimal)is%x

118u,a);【程序56]題目:畫圖,學(xué)用circle畫圓形。1.程序分析:2.程序源代碼:/?circle*/#include"graphics.—main(){intdriver,mode,i;floatj=1,k=1;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,,,n);setbkcolor(YELLOW);for(i=0;i<=25;i++)(setcolor(8);

119circle。10,250,k);k=k+j;j=j+0.3;【程序57]題目:畫圖,學(xué)用line畫直線。1.程序分析:2.程序源代碼:#include"graphics.h"main(){intdriver,mode,i;floatx0,y0,yl,xl;floatj=12,k;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,Mn);setbkcolor(GREEN);x0=263;y0=263;yl=275;x1=275;for(i=0;i<=18;i++)(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);line(xO,yO,xO,yl);xO=xO+5;yO=yO+5;yl=yl-5;【程序58]題目:畫圖,學(xué)用rectangle畫方形。1.程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。2.程序源代碼:#include"graphics.h1'main(){intx0,y0,y1,x1,driver,mode,i;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,,M,);

120setbkcolor(YELLOW);x0=263;y0=263;yl=275;x1=275;for(i=0;i<=18;i++)[setcolor(l);rectangle(xO,yO,xl,yl);x0=x0-5;y0=y0-5;xl=xl+5;yl=yl+5;)settextstyle(DEFAULT_FONT,HORIZ_DIR,2);2005-1-2211:31回復(fù)zhlei8135位粉絲11樓outtextxy(150,40,HHowbeautifulitis!");lined30,60,480,60);setcolor(2);circle(269,269,137);}【程序59]題目:畫圖,綜合例子。L程序分析:2.程序源代碼:#definePAI3.1415926#defineB0.809#include"graphicsl”#include"math.h"main()(inti,j,k,x0,y0,x,y,driver,mode;floata;driver=CGA;mode=CGACO;initgraph(&driver,&mode,,n,);setcolor(3);setbkcolor(GREEN);x0=150;y0=100;circle(x0,y0,10);circle(x0,y0,20);circle(x0,y0,50);

121for(i=0;i<16;i++)(a=(2*PAI/16)*i;x=ceil(x0+48*cos(a));y=ceil(yO+48*sin(a)*B);setcolor(2);line(x0,y0,x,y);}setcolor(3);circle(x0,y0,60);#*Make0timenormalsizeletters*/settextstyle(DEFAULT_FONT,HORIZ_DIR,0);outtextxy(10,170,upressakey");getch();setfillstyle(HATCH_FILL,YELLOW);floodfill(202,l00,WHITE);getch();for(k=0;k<=500;k++)(setcolor(3);for(i=0;i<=16;i++)(a=(2*PAI/16)*i+(2*PAI/180)*k;x=ceil(x0+48*cos(a));y=ceil(yO+48+sin(a)*B);setcolor(2);line(x0,y0,x,y);for(j=1;j<=50;j++)a=(2*PAI/16)*i+(2*PAI/180)*k-l;x=ceil(x0+48*cos(a));y=ceil(yO+48*sin(a)*B);line(xO,yO,x,y);))restorecrtmode();)【程序60]題目:畫圖,綜合例子。1.程序分析:2.程序源代碼:#include"graphics.hn#defineLEFTO#defineTOP0#defineRIGHT639#defineBOTTOM479#defineLINES400#defineMAXCOLOR15main()(intdriver,mode,error;intxl,yl;

122intx2,y2;intdxl,dyI,dx2,dy2,i=1;intcount=0;intcolor=0;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,,,n);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<=LEFTIIx1>=RIGHT)dx1=-dx1;if(yl<=TOPIIy1>=BOTTOM)dyl=-dyl;if(x2<=LEFTIIx2>=RIGHT)dx2=-dx2;if(y2<=TOPIIy2>=BOTTOM)dy2=-dy2;if(-H-count>LlNES)(setcolor(color);color=(color>=MAXCOLOR)?0:++color;))closegraph();2005-1-2211:31回復(fù)zhlei8135位粉絲12樓【程序61]題目:打印出楊輝三角形(要求打印出10行如下圖)1.程序分析:111121133114641

123151010512.程序源代碼:main(){intij;inta[10][10];printf("

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

125");【程序62]題目:學(xué)習(xí)putpixel畫點.1.程序分析:2.程序源代碼:#include"stdio.h"#include"graphics.h"main()(inti,j,driver=VGA,mode=VGAHI;initgraph(&driver,&mode,"");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]題目:畫橢圓ellipse1.程序分析:2.程序源代碼:#include"stdio.h"#include"graphics.h1'#include"conio.h"main()(intx=360,y=160,driver=VGA,mode=VGAHI;intnum=20,i;inttop,bottom;initgraph(&driver,&mode,Mn);

126top=y-30;bottom=y-30;for(i=0;i

127voidLineToDemo(void)structviewporttypevp;structPTSpoints[MAXPTS];inti,j,h,w,xcenter,ycenter;iniradius,angle,step;doublerads;printf("MoveTo/LineToDemonstration1');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

128scanf(n%d,%d,%dH,&nI,&n2,&n3);pointerl=&nl;pointer2=&n2;pointer3=&n3;if(n1>n2)swap(pointerl,pointer2);if(nl>n3)swap(pointer1,pointer3);if(n2>n3)swap(pointer2,pointer3);printf("thesortednumbersare:%d,%d,%d

129M,n1,n2,n3);}swap(pl,p2)int*pl,*p2;{intp;p=*pI;*pl=*p2;*p2=p;【程序67]題目:輸入數(shù)組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數(shù)組。1.程序分析:譚浩強的書中答案有問題。2.程序源代碼:main()(intnumber[10];input(number);max_min(number);output(number);)input(number)intnumber[10];{inti;for(i=0;i<9;i++)scanf("%d,”,&number[i]);scanf(',%d,',&number[9]);}max_min(array)intarray[10];{int*max,*min,k,l;int*p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;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;

130}output(array)intarray[10];{int*p;fbr(p=array;parray;p-)*p=*(p-l);*array=array_end;m-;if(m>0)move(array,n,m);【程序69]題目:有F個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出

131圈子,問最后留下的是原來第幾號的那位。1.程序分析:2.程序源代碼:#definenmax50main()(inti,k,m,n,num[nmax],*p;printf("pleaseinputthetotalofnumbers:");scanfC%d",&n);p=num;for(i=0;i

132M,*p);[程序70]題目:寫一個函數(shù),求一個字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度。1.程序分析:2.程序源代碼:main()(intlen;char*str[20];printf("pleaseinputastring:

133M);scanf("%sn,str);len=length(str);printf("thestringhas%dcharacters.H,len);)

134length(p)char*p;(intn;n=0;while(*p!=AO')(n++;[H-+;)returnn;)2005-1-2211:32回復(fù)zhlei8135位粉絲14樓【程序71]題目:編寫input。和output。函數(shù)輸入,輸出5個學(xué)生的數(shù)據(jù)記錄。1.程序分析:2.程序源代碼:#defineN5structstudent{charnum[6];charname[8];intscore[4];}stu[N];input(stu)structstudentstu[];{inti,j;for(i=0;i

135pleaseinput%dof%d

136n,i+l,N);printf(Hnum:");scanf(H%sH,stu[i].num);printiVname:");scanf("%sM,stu[i].name);for(j=0;j<3;j++){printf(Hscore%d.M,j+l);scanf(n%dM,&stu[i].score[j]);)printf("

137");))print(stu)

138structstudentstu[];{inti,j;printf("

139No.NameScolSco2Sco3

140u);for(i=0;i

141n);})main()(input();print();【程序72]題目:創(chuàng)建一個鏈表。1.程序分析:2.程序源代碼:/*creatalist*/#includeMstdlib.hMincludeMstdio.h"structlist3intdata;structlist*next;);typedefstructlistnode;typedefnode*link;voidmain()4linkptr,head;intnum,i;ptr=(link)malloc(sizeof(node));ptr=head;printf(npleaseinput5numbers==>

142n);for(i=0;i<=4;i++)scanf("%d”,&num);ptr->data=num;ptr->next=(link)malloc(sizeof(node));if(i==4)ptr->next=NULL;elseptr=ptr->next;)ptr=head;while(ptr!=NULL){printf("Thevalueis==>%d

143",ptr->data);ptr=ptr->next;

144【程序73]題目:反向輸出一個鏈表。1.程序分析:2.程序源代碼:/*reverseoutputalist*/#include"stdlib.h"includenstdio.hMstructlist{intdata;structlist*next;);typedefstructlistnode;typedefnode*link;voidmain(){linkptr,head,tail;intnum,i;tail=(link)malloc(sizeof(node));tail->next=NULL;ptr=tail;printf(M

145pleaseinput5data==>

146");for(i=0;i<=4;i++)(scanf(n%d",&num);ptr->data=num;head=(link)malloc(sizeof(node));head->next=ptr;ptr=head;)ptr=ptr->next;while(ptr!=NULL){printf("Thevalueis==>%d

147*',ptr->data);ptr=ptr->next;})【程序74]題目:連接兩個鏈表。1.程序分析:2.程序源代碼:includenstdlib.hH#includeMstdio.h"structlist{intdata;structlist*next;};typedefstructlistnode;

148typedefnode*link;linkdelete_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(linkpointer,intnum){linktmp,btmp;inti,min;for(i=0;idata;btmp=NULL;while(tmp->next){if(min>tmp->next->data){min=tmp->next->data;btmp=tmp;tmp=tmp->next;)printf("\40:%d

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

150tmp2->data=array[i];tmp1->next=tmp2;tmpl=tmpl->next;)returnpointer;}linkconcatenate(linkpointeri,linkpointer2){linktmp;lmp=pointerl;while(tmp->next)tmp=tmp->next;tmp->next=pointer2;returnpointeri;)voidmain(void){intarrl[>{3,12,8,9,11};linkptr;ptr=create_list(arr1,5);selection_sort(ptr,5);【程序75]題目:放松一下,算一道簡單的題目。1.程序分析:2.程序源代碼:main()(inti,n;for(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:%cn,64+i);}}【程序76]題目:編寫一個函數(shù),輸入n為偶數(shù)時,調(diào)用函數(shù)求l/2+1/4+...+l/n,當(dāng)輸入n為奇數(shù)時,調(diào)用函數(shù)l/l+l/3+...+l/n(利用指針函數(shù))

1511.程序分析:2.程序源代碼:main()includenstdio.hnmain(){floatpeven(),podd(),dcall();floatsum;intn;while(1)(scanf("%d”,&n);if(n>l)break;)if(n%2==0)(printf(MEven=M);sum=dcall(peven,n);elseprintf(MOdd=M);sum=dcall(podd,n);}printf(H%f';sum);}floatpeven(intn)(floats;inti;s=l;fbr(i=2;i<=n;i+=2)s+=l/(float)i;retum(s);}floatpodd(n)intn;(floats;inti;s=0;for(i=l;i<=n;i+=2)s+=l/(float)i;return(s);

152)floatdcall(fp,n)float(*fp)();intn;(floats;s=(*fp)(n);return(s);【程序77]題目:填空練習(xí)(指向指針的指針)1.程序分析:2.程序源代碼:main(){char*s[]={"man"Jwoman","girl","boy","sister"};char**q;intk;for(k=0;k<5;k++);/*這里填寫什么語句*/printf(M%s

153\*q);【程序78]題目:找到年齡最大的人,并輸出。請找出程序中有什么問題。1.程序分析:2.程序源代碼:#defineN4#include"stdio.h"staticstructman{charname[20];intage;}person[N]={Mlin,l8,uwangM9;,zhang,,,20;,sun,,,22};main(){structman*q,*p;inti,m=0;p=person;for(i=0;iage)q=p++;m=q->age;}printf(M%s,%dM,(*q).name,(*q).age);)

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

155u);scanf("%sH,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

156H);printf(n%s

157%s

158%s

159",strl,str2,str3);)charswap(pl,p2)char*pl,*p2;(char*p[20];strcpy(p,pl);strcpy(p1,p2);strcpy(p2,p);【程序80]題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?1.程序分析:2.程序源代碼:main(){intcount;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)

160count++;elsebreak;1i=m;if(count==4){printf(n%d

161",count);break;}2005-1-2211:32回復(fù)zhlei8135位粉絲16樓【程序81]題目:809*??=800*??+9*??+1其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。1.程序分析:2.程序源代碼:output(longb,longi){printf("

162%ld/%ld=809*%ld+%ld",b,i,i,b%i);)main(){longinta,b,i;a=809;for(i=10;i<100;i++){b=i*a+l;if(b>=1000&&b<=10000&&8*i=100)output(b,i);}【程序82]題目:八進制轉(zhuǎn)換為十進制1.程序分析:2.程序源代碼:main(){char*p,s[6];intn;p=s;gets(p);n=0;while(*(p)!='\0'){n=n*8+*p-'0';

163P++;}printf("%d",n);【程序83]題目:求0—7所能組成的奇數(shù)個數(shù)。1.程序分析:2.程序源代碼:main()[longsum=4,s=4;intj;for(j=2;j<=8;j++)/*jisplaceofnumber*/{printf("

164%ld",sum);if(j<=2)s*=7;elses*=8;sum+=s;}printf(n

165sum=%ldn,sum);【程序84]題目:一個偶數(shù)總能表示為兩個素數(shù)之和。1.程序分析:2.程序源代碼:#include"stdio.h"#include"math.h"main(){inta,b,c,d;scanfT%d”,&a);for(b=3;b<=a/2;b+=2){for(c=2;c<=sqrt(b);c++)if(b%c=0)break;if(c>sqrt(b))d=a-b;elsebreak;for(c=2;c<=sqrt(d);c++)if(d%c=0)break;if(c>sqrt(d))printf(,,%d=%d+%d

166,',a,b,d);【程序85]題目:判斷一個素數(shù)能被幾個9整除L程序分析:

1672.程序源代碼:main(){longintm9=9,sum=9;intzi,nl=l,c9=l;scanf(“%d”,&zi);while(nl!=0){if(!(sum%zi))nl=0;else{m9=m9*10;sum=sum+m9;c9++;printf(M%ld,canbedividedby%d\"9\"”,sum,c9);)【程序86]題目:兩個字符串連接程序1.程序分析:2.程序源代碼:includenstdio.h"main(){chara[]="acegikmn;charb[]=MbdfhjlnpqH;charc[80],*p;inti=Oj=O,k=O;while(a[i]!=\0,&&b|j]!='\0,){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;chare;

168}a;main(){a.x=3;a.c=a';f(a);printf(M%d,%cM,a.x,a.c);f(structstudentb)(b.x=20;b.c=,y,;【程序88]題目:讀取7個數(shù)(1-50)的整數(shù)值,每讀取一個值,程序打印出該值個數(shù)的*。L程序分析:1.程序源代碼:main(){inti,a,n=l;while(n<=7){do{scanf("%d”,&a);}while(a50);for(i=1;i<=a;i++)printf(“*”);printf(H

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

170aa[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(M%dM,aa[i]);【程序90]題目:專升本一題,讀結(jié)果。1.程序分析:2.程序源代碼:include“stdio.h"#defineM5main(){inta[M]={1,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(M%d",*(a+i));2005-1-2211:33回復(fù)zhlei8135位粉絲17樓【程序91]題目:時間函數(shù)舉例11.程序分析:2.程序源代碼:#include"stdio.h"#include"time.h"voidmain(){time_tIt;/*definealonginttimevarible*/lt=time(NULL);/*systemtimeanddate*/printf(ctime(<));/*englishformatoutput*/printf(asctime(localtime(<)));/*tranfertotm*/printf(asctime(gmtime(<)));/*tranfertoGreenwichtime*/

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

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

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

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

175,,,(double)(end-start));【程序94]題目:時間函數(shù)舉例4,一個猜數(shù)游戲,判斷一個人反應(yīng)快慢。(版主初學(xué)時編的)L程序分析:3.程序源代碼:#include"time.h"#includeMstdlib.h"#include"stdio.h"main(){charc;clock_tstart,end;time_ta,b;doublevar;inti,guess;srand(time(NULL));

176printf(Mdoyouwanttoplayit.(*y'or'n')

177n);loop:while((c=getchar())==,y,)(i=rand()%100;printf("

178pleaseinputnumberyouguess:

179H);start=clock();a=time(NULL);scanf(,,%d,\&guess);while(guess!=i){if(guess>i){printf(upleaseinputalittlesmaller.

180M);scanf(”%d”,&guess);}else{printf(npleaseinputalittlebiggerAn*');scanf(n%d",&guess);}}end=clock();b=time(NULL);printf(M\l:Ittookyou%6.3fseconds

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

182

183'\difftime(b,a));if(var<15)printf(M\l\lYouareveryclever!\l\l

184

185");elseif(var<25)printf("\l\lyouarenormal!\l\l

186

187n);elseprintf("\l\lyouarestupid!\l\l

188

189");printf(M\l\lCongradulations\l\l

190

191u);printf(nThenumberyouguessis%d”,i);)printf("

192doyouwanttotryitagain?(\*,yy\,,.or.\',n\',)

193,');if((c=getch())=='y,)gotoloop;【程序95]題目:家庭財務(wù)管理小程序1.程序分析:2.程序源代碼:/*moneymanagementsystem*/#include"stdio.h"#include"dos.hMmain()(FILE*fp;

194structdated;floatsum,chm=0.0;intlen,ij=0;intc;charch[4]=M,,,ch1[16]=',M,chtime[l2]=M',chshop[16],chmoney[8];pp:clrscr();sum=0.0;gotoxy(l,l);printf("l1");gotoxy(L2);printf(,'lmoneymanagementsystem(Cl.O)2000.03I”);gotoxy(l,3);printf(,11");gotoxy(l,4);pnntf("l-moneyrecords-I-todaycostlist—I");2005-1-2211:33回復(fù)zhlei8135位粉絲18樓gotoxy(l,5);printf(',lIF);gotoxy(1,6);printf("ldate:IF);gotoxy(l,7);printf(,'l1111");gotoxy(l,8);printf(,'lIF);gotoxy(l,9);printf("lthgs:II");gotoxy(l,lO);printf(1'l111l'f);gotoxy(l,ll);printf(,TlII");gotoxy(l,12);printf("lcost:IF);gotoxy(l,13);printf(nl111ln);gotoxy(l,14);printf(ulII");gotoxy(l,15);printf(,,lIln);gotoxy(l,16);printf(ulIlM);gotoxy(1,17);printf(Ml11'1);gotoxy(l,18);printf(,,lIl,r);gotoxy(l,19);printf(,'lIl,f);gotoxy(l,20);printf(,'l11");gotoxy(l,21);printf(,'lIlH);gotoxy(l,22);printf(,,lIl,f);gotoxy(l,23);printf('11”);i=0;getdate(&d);sprintf(chtime,"%4d.%02d.%02d,\d.da_year,d.da_mon,d.da_day);for(;;)(gotoxy(3,24);printf(HTab_browsecostlistEsc_quit");

195gotoxy(13,10);printf(nM);gotoxy(13,13);printf(u");gotoxy(13,7);printf(',%s",chtime);j=18;ch[0]=getch();if(ch[0]==27)break;strcpy(chshop,"M);strcpy(chmoney,"n);if(ch[0]=9)(fp=fopen(Mhome.dat"/'r+n);gotoxy(3,24);printfC,");gotoxy(654);printf("listrecords");gotoxy(l,5);printf('rl1”);gotoxy(41,4);printf(nn);gotoxy(41,5);printf(ulM);while(fscanf(fp/'%1Os%14s%f

196'\chtime,chshop,&chm)!=EOF){if(i==36)(getch();i=0;}if((i%36)<17){gotoxy(4,6+i);printf(r',T);gotoxy(4,6+i);)elseif((i%36)>16){gotoxy(41,4+i-17);printf—);gotoxy(42,4+i-17);}i++;sum=sum+chm;printf("%10s%-14s%6.1f

197",chtime,chshop,chm);)gotoxy(l,23);printf(,fl1");gotoxy(l,24);printf(,'lln);gotoxy(1,25);printf(Mlgotoxy(10,24);printf(Mtotalis%8.1f$n,sum);fclose(fp);gotoxy(49,24);printf("pressanykeyto…n);getch();gotopp;

198)else(while(ch[O]!=V){if(j<10){strncat(chtime,ch,1);j++;}if(ch[0]=8)(len=strlen(chtime)-1;if(j>15){len=len+l;j=ll;}strcpy(chl;n,);j=j-2;stmcat(chl,chtime,len);strcpy(chtime,nn);stmcat(chtime,chl,len-l);gotoxy(13,7);printfC,M);)gotoxy(13,7);printf(',%s',,chtime);ch[0]=getch();if(ch[0]=9)gotomm;if(ch[0]==27)exit(l);)gotoxy(3,24);printfC,H);gotoxy(13,10);j=0;ch[0]=getch();while(ch[O]!=V){if0<14){stmcat(chshop,ch,1);j++;}if(ch[0]=8){len=strlen(chshop)-1;strcpy(chl;H,);j=j-2;stmcat(chl,chshop,len);strcpy(chshop,HM);stmcat(chshop,chl,len-l);gotoxy(13,10);printf(nH);)gotoxy(13,10);printf(,,%s,,,chshop);ch[0]=getch();}gotoxy(13,13);j=0;

199ch[0]=getch();while(ch[O]!=V){if0<6){stmcat(chmoney,ch,1);j++;}if(ch[0]=8){len=strlen(chmoney)-1;strcpy(chl,M");j=j-2;stmcat(chl,chmoney,len);strcpy(chmoney,HH);stmcat(chmoney,chljen-l);gotoxy(13,13);printf(nH);}gotoxy(13,13);printf(,,%s,,,chmoney);ch[0]=getch();)if((strlen(chshop)==0)ll(strlen(chmoney)==0))continue;if((fp=fopen(',home.dat,',',a+(,))!=NULL);fprintf(fp,"%10s%14s%6s",chtime,chshop,chmoney);fputc(1

200\fp);fclose(fp);i++;gotoxy(41,5+i);printf(M%10s%-14s%-6s",chtime,chshop,chmoney);}))【程序96]題目:計算字符串中子串出現(xiàn)的次數(shù)L程序分析:2.程序源代碼:include,,string.hn#includeMstdio.h"main(){charstrl[20],str2[20],*p1,*p2;intsum=0;printf("pleaseinputtwostrings

201");scanf(',%s%su,strl,str2);pl=strl;p2=str2;while(*pl!=\01)if(*pl=*p2){while(*p1==*p2&&*p2!=\0'){pl++;p2++;})elsepl++;if(*p2==W)sum++;p2=str2;)

202printf(M%dM,sum);getch();)【程序97]題目:從鍵盤輸入一些字符,逐個把它們送到磁盤上去,直到輸入一個#為止。1.程序分析:2.程序源代碼:include飛tdio.h"main(){FILE*fp;charch,filename[10];scanf(”%s”,filename);if((fp=fopen(filename,uwn))=NULL){printfC^annotopenfile

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

204n);exit(O);}printf("pleaseinputastring:

205u);gets(str);while(str!=,!1){if(slr>='a'&&slrv='z')str=str-32;

206fputc(str,fp);i++;)fclose(fp);fp=fopen(MtestM,MrM);fgets(str,strlen(str)+l,fp);printf(,,%s

207',,str);fclose(fp);)2005-1-2211:33回復(fù)vc9962位粉絲19樓【程序99]題目:有兩個磁盤文件A和B,各存放一行字母,要求把這兩個文件中的信息合并(按字母順序排列),輸出到一個新文件C中.1.程序分析:2.程序源代碼:#includenstdio.h"main(){FILE*fp;inti,j,n,ni;charc[160],t,ch;if((fp=fopen(,'A";,r,,))==NULL){printfC^leAcannotbeopened

208H);exit(0);)printf("

209Acontentsare:

210H);for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);)fclose(fp);ni=i;if((fp=fopen("B',,',r',))==NULL){printfC^leBcannotbeopened

211n);exit(O);)printf("

212Bcontentsare:

213");fbr(i=O;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);)fclose(fp);

214n=i;fbr(i=0;icUD{t=c[i];c[i]=c|j];c[j]=t;}printf("

215Cfileis:

216H);fp=fopen(“C“Jw");for(i=0;i

217pleaseinputNo.%dscore:

218H,i);printf(^^stuNo:,^);scanf(*'%sM,stu[i].num);printf(nname:n);scanf("%sn,stu[i].name);sum=O;for(j=0;j<3;j++){printf("score%d.M,j+l);scanf(n%d';&stu[i].score[j]);sum+=stu[i].score|j];)stu[i].avr=sum/3.0;)fp=fopen(nstud","wM);

219for(i=0;i<5;i++)if(fwrite(&stu[i],sizeof(structstudent),l,fp)!=1)printf("filewriteerror

220'f);fclose(fp);)2005-1-2213:16回復(fù)elva64019位粉絲20樓是不是應(yīng)該給這個加精?2005-1-2213:23回復(fù)202.247.25.*21樓這個帖子應(yīng)該頂2005-1-2520:40回復(fù)218.74.55.*22樓頂了,可是還是有人不看??纯袋c擊數(shù)。現(xiàn)在的某些人,虛??!如果某些問問題的人能把這些題目看一遍的話,相信也就不會問那么多的問題了。2005-1-2617:42回復(fù)kkiqpl9180位粉絲23樓小弟是菜鳥,各位大哥多指點順便頂一下,免得樓上罵娘,呵呵2005-2-1102:04回復(fù)221.2.249.*24樓經(jīng)典,頂2005-2-1117:03回復(fù)218.64.40.*25樓蠻不錯的,收藏了。2005-2-1210:30回復(fù)222.90.91.*26樓

221南開百題2005-2-1213:19回復(fù)活著是為了玩0位粉絲27樓雖然不多,不當(dāng)?shù)仍诤螘r2005-2-1219:44回復(fù)219.133.152.*28樓多謝樓主了2005-2-1315:36回復(fù)221.15.13.*29樓我覺得其中有好幾個的代碼有很大的改進余地啊,能不能改一下呢?對菜鳥的幫助會多一點吧?2005-2-1510:56回復(fù)221.15.13.*30樓不過這個帖子實在很不錯的,收藏了,回去研究一下2005-2-1510:57回復(fù)202.105.32.*31樓真的好經(jīng)典哦,我要收藏回去看。對我這個菜鳥很有幫助??!多謝樓主了!!2005-3-218:09回復(fù)共有2094篇貼子12345678910下一頁尾頁發(fā)表回復(fù)內(nèi)容:用戶名:您目前是匿名發(fā)表登錄I注冊驗證碼:請點擊后輸入驗證碼,加入會員后本吧發(fā)貼免驗證碼。©2010Baidu貼吧協(xié)議意見反饋

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

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

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