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

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

ID:83040848

大小:69.50 KB

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

時(shí)間:2023-09-20

上傳者:無(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ù)。

經(jīng)典C源程序100例注【程序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++)/*以下為三重循環(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)(I)低于或等于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)元的部分,可提成1.5%,高于100萬(wàn)元時(shí),超過(guò)100萬(wàn)元的部分按1%提成,從鍵盤輸入當(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;intbonuslzbonus2/bonus4/bonus6/bonuslO,bonus;scanf("%ld",&i);bonusl=100000*0.1;bonus2=bonusl+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonusl0=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<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonusl0+(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)以內(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】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?1.程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。2.程序源代碼:main()intday,month,year,sumjeap;printf("

6pleaseinputyeai;month,day

7");scanf("%d,%d,%cT,&yeai;&month,&day);switch(month)/*先計(jì)算某月以前月份的總天數(shù)*/{casel:sum=O;break;case2:sum=31;break;case3:sum=59;break;

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

9"/x/y/z);[程序6]題目:用*號(hào)輸出字母C的圖案。1.程序分析:可先用,號(hào)在紙上寫出字母C,再分行輸出。

101?程序源代碼:tfinclude"stdio.h"main()(printf("HelloC-world!

11");printf("printf("*

12");printf("?

13");printf("****

14");}【程序7】題目:輸出特殊圖案,請(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

15',/b,a/a,a,b);printf(',%c%c%c%c%c

16"/a/b/a/b/a);printf(,,%c%c%c%c%c

17"/a/a,b/a,a);printf("%c%c%c%c%c

18"/a/b/a/b/a);printf("%c%c%c%c%c

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

20");for(i=l;i<10;i++){for(j=l;j<10;j++)(result=i*j;printf(',%d*%d=%-3d",ij/result);/*-3d表示左對(duì)齊,占3位*/}printf("

21");/*每一行后換行*/)}

22【程序9】題目:要求輸出國(guó)際象棋棋盤。1.程序分析:用i控制行,j來(lái)控制列,根據(jù)i+j的和的變化來(lái)控制輸出黑方格,還是白方格。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);elseprintf("");printf("

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

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

25");)【程序11]題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少?1.程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....2.程序源代碼:main()(longfl/2;inti;

26fl=f2=l;for(i=l;j<=20;i++){printf("%12ld%12ld"J1J2);if(i%2==0)printf("

27");/*控制輸出,每行四個(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.程序源代碼:tfinclude"math.h"main()(intmJ/k/h=0,leap=l;printf("

28");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("%-4d"/m);h++;if(h%10==0)printf("

29");)leap=l;)printf("

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

31main()(inti,j,k,n;printf("'waterflower'numberis:");for(n=100;n<1000;n++){i=n/100;/*分解出百位*/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("

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

33pleaseinputanumberin'');scanf("%cT,&n);printf(',%d="/n);for(i=2;i<=n;i++){while(n!=i){if(n%i==O){printfC'%d*MJ);n=n/i;}

34elsebreak;))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

35H);scanf(”%cT,&score);grade=score>=90?'A':(score>=60?,B,:,C);printf("%dbelongsto%c”,score,grade);【程序16]題目:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。1.程序分析:利用輾除法。2.程序源代碼:main()|inta,b,numl,num2,temp;printf("pleaseinputtwonumbers:

36");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;

37a=b;b=temp;)printf(”gongyueshu:%d

38",a);printf("gongbeishu:%d

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

40");while((c=getchar())!='

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

42",Ietters,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ù)相加有鍵盤控制。L程序分析:關(guān)鍵是計(jì)算出每一項(xiàng)的值。3.程序源代碼:main()(inta,n,count=l;longintsn=0ztn=0;printf("pleaseinputaandn

43");scanf("%d,%cT,&a,&n);printf("a=%d/n=%d

44",a/n);while(count<=n){

45tn=tn+a;sn=sn+tn;a=a*10;++count;}printf("a+aa+...=%ld

46",sn);【程序191題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如6=1+2+3.編程找出1000以內(nèi)的所有完數(shù)。1.程序分析:請(qǐng)參照程序〈-上頁(yè)程序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("%disawanshu"J);for(i=0;iprintf(”%d,”,k[i]);printf("%d

47",k[n]);}}}【程序20]題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過(guò)多少米?第10次反彈多高?1.程序分析:見(jiàn)下面注釋2.程序源代碼:main()

48(floatsn=100.0,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;/*第n次落地時(shí)共經(jīng)過(guò)的米數(shù)*/hn=hn/2;/*第n次反跳高度*/)printf("thetotalofroadis%f

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

50",hn);}【程序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=xl;day-;}printf("thetotalis%d

51",xl);【程序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ù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。2.程序源代碼:main()(

52chari,j,k;/*i是a的對(duì)手,j是b的對(duì)手,k是c的對(duì)手*/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

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

54");)for(i=0;i<=2;i++){for(j=0;j<=i;j++)printff'");for(k=0;k<=4-2*i;k++)print"'*");printf("

55");)

56}【程序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;for(n=l;n<=number;n++){s=s+a/b;t=a;a=a+b;b=t;/*這部分是程序的關(guān)鍵,請(qǐng)讀者猜猜t的作用*/)printf("sumis%9.6f

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

58"zs);}【程序26]題目:利用遞歸方法求5!。1.程序分析:遞歸公式:fn=fn_l*4!2.程序源代碼:#indude"stdio.h"main()(inti;intfact();for(i=0;i<5;i++)printf("\40:%d!=%d

59",i,fact(i));}intfact(j)intj;

60(intsum;if(j==O)sum=l;elsesum=j*fact(j-l);returnsum;}【程序27]題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序打印出來(lái)。1.程序分析:2.程序源代碼:include"stdio.h"main()(inti=5;voidpalin(intn);printf("\40:");palin⑴;printf("

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

62\O:");putchar(next);)else{next=getchar();palin(n-l);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ù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。

631.程序源代碼:age(n)intn;{intc;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ù),如下解釋:(這里是一種簡(jiǎ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;/*分解出十位*/e=x%10;/*分解出個(gè)位*/if(a!=0)printf("thereare5,%ld%ld%ld%ld%ld

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

65”,e,d,c,b);elseif(c!=0)printf(nthereare3,%\d%ld%ld

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

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

68H,e);}【程序30]題目:一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相同。L程序分析:同29例3.程序源代碼:main(){longge,shi,qian,wan,x;scanf("%ld",&x);wan=x/10000;

69qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge=二wan&&shi==qian)/*個(gè)位等于萬(wàn)位并且十位等于千位*/printf("thisnumberisahuiwen

70");elseprintf("thisnumberisnotahuiwen

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

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

73n);if((letter=getch())=='a')printf("saturday

74");elseif((letter=getch())=='u,)printf("sunday

75");elseprintf("dataerror

76");break;case'F'rprintfC'fridayXn'^break;case'M'rprintfC'mondayXn'^break;case'T':printf("pleaseinputsecondletter

77H);if((letter=getch())=='u')printf("tuesday

78");elseif((letter=getch())=='h')printf("thursday

79");elseprintf(Hdataerror

80H);break;case'W'rprintfC'wednesdayXn'^break;

81default:printf("dataerror

82");)})【程序32]題目:Pressanykeytochangecolor,doyouwanttotryit.Pleasehurryup!題目:按任意鍵來(lái)改變顏色,你想嘗試一下。請(qǐng)抓緊時(shí)間!1.程序分析:2.程序源代碼:includevoidmain(void)(intcolor;for(color=0;color<8;color++){textbackground(color);/*設(shè)置文本的背景顏色*/cprintf("Thisiscolor%d\r

83",color);〃這是顏色cprintf("Pressanykeytocontinue\r

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

85");textbackground(3);gotoxy(20,10);cprintf("Outputatrow10column20

86");

87}【程序34]題目:練習(xí)函數(shù)調(diào)用1.程序分析:2.程序源代碼:includevoidhello_world(void)(printfC'Hello,world!

88");)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++)(textcolor(color);/*設(shè)置文本顏色*/cprintf("Thisiscolor%d\r

89"/color);}textcolor(128+15);cprintf("Thisisblinking\r

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

91if(a[i]!=O&&a[j]!=O)if(aU]%a[i]==O)a[j]=O;}printf("

92");for(i=2Jine=0;i

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

94");for(i=0;i

95");for(i=0;i

96M);/*sorttennum*/for(i=0;ia[j])min=j;tem=a[i];a[i]=a[min];a[min]=tem;}/?outputdata*/printf("Aftersorted

97");for(i=0;i

98【程序38]題目:求一個(gè)3*3矩陣對(duì)角線元素之和1.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將累加后輸出。2.程序源代碼:main()(floata[3][3],sum=0;intij;printf("pleaseinputrectangleelement:

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

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

101");printf("insertanewnumber:");scanf("%d"z&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

102}}for(i=0;i

103originalarray:

104H);for(i=0;i

105sortedarray:

106");for(i=0;i

107",b);b&二7;printf("\40:Thea&b(decimal)is%d

108",b);}【程序52]題目:學(xué)習(xí)使用按位或|。L程序分析:0|0=0;0|1=1;1|0=1;1|1=1

1092.程序源代碼:include"stdio.h"main()(inta,b;a=077;b=a|3;printf("\40:Thea&b(decimal)is%d

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

111"zb);【程序53]題目:學(xué)習(xí)使用按位異或八oL程序分析:0A0=0;0Al=l;lA0=l;lAl=02.程序源代碼:include"stdio.h"main()(inta,b;a=077;b=aA3;printf("\40:Thea&b(decimal)is%d

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

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

114%o

115"/a/d);【程序55]題目:學(xué)習(xí)使用按位取反一1.程序分析:-0=1;-1=0;2.程序源代碼:

116include"stdio.h"main()(inta,b;a=234;b=~a;printf("\40:Thea's1complement(decimal)is%d

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

118",a);}【程序56]題目:畫圖,學(xué)用circle畫圓形。1.程序分析:2.程序源代碼:"circle*/include"graphics.h"main(){intdrivecmodej;floatj=l,k=l;driver=VGA;mode=VGAHI;initgraphl&driveG&mode/'");setbkcolor(YELLOW);for(i=0;i<=25;i++)(setcolor(8);circle(310/250,k);k=k+j;j=j+0.3;【程序57]題目:畫圖,學(xué)用line畫直線。1.程序分析:2.程序源代碼:include"graphics.h"main(){intdriver,mode/;floatxO,yO,yl,xl;floatj=12,k;driver=VGA;mode=VGAHI;initgraph(&driverz&mode;"');setbkcolor(GREEN);x0=263;y0=263;yl=275;xl=275;for(i=0;i<=18;i++)(setcolor(5);line(xO,yO,xO,yl);x0=x0-5;

119yO=yO-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);x0=x0+5;y0=y0+5;yl=yl-5;【程序58]題目:畫圖,學(xué)用rectangle畫方形。1.程序分析:利用for循環(huán)控制100-999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。2.程序源代碼:include"graphics.h"main(){intxO,yO,yl,xl,driver;mode,i;driver=VGA;mode=VGAHI;initgraphf&driveG&mode/1");setbkcolor(YELLOW);x0=263;y0=263;yl=275;xl=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_FON7;HORIZ_DIR,2);outtextxy(150,40,"Howbeautifulitis!");line(130,60,480,60);setcolor(2);circle(269,269,137);

120【程序59]題目:畫圖,綜合例子。1.程序分析:2.程序源代碼:#definePAI3.1415926#defineB0.809#include"graphics.h"include"math.h"main(){inti,j,k,xO,yO,x,y,driver,mode;floata;driver=CGA;mode=CGACO;initgraph(&driver/&mode;"');setcolor(3);setbkcolor(GREEN);x0=150;y0=100;circle(x0,y0z10);circle(x0,y0z20);cirde(xO,yO,5O);for(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(xO/yOzx/y);}setcolor(3);circle(x0,y0,60);/*Make0timenormalsizeletters*/settextstyle(DEFAULT_FON7;HORIZ_DIR,0);outtextxyflOJTO/pressakey");getch();setfillstyle(HATCH_FILL/YELLOW);floodfill(202/100/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(xO,yO,x,y);)for(j=l;j<=50;j++)

121{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.h"#defineLEFTO#defineTOPO#defineRIGHT639#defineBOTTOM479

122#defineUNES400#defineMAXCOLOR15main()(intdrivei;mode,error;intxl,yl;intx2,y2;intdxl/dyl/dx2/dy2,i=l;intcount=0;intcolor=0;driver=VGA;mode=VGAHI;initgraphj&drivec&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<=LEFT||xl>=RIGHT)dxl=-dxl;if(yl<=TOP||yl>=BOTTOM)dyl=-dyl;if(x2<=LEFT||x2>=RIGHT)dx2=-dx2;if(y2<=T0P||y2>=BOTTOM)dy2=-dy2;if(++count>LINES)(setcolor(color);color=(color>=MAXCOLOR)?0:++color;)}closegraph();【程序61]題目:打印出楊輝三角形(要求打印出10行如下圖)1.程序分析:

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

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

125");)【程序62]題目:學(xué)習(xí)putpixel畫點(diǎn)。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(ij,l);for(j=50;j<=230;j+=20)for(i=50;i<=230;i++)putpixel(ijl);【程序63]題目:畫橢圓ellipse1.程序分析:2.程序源代碼:include"stdio.h"#include"graphics.h"

126include"conio.h"main()(intx=360/y=160zdriver=VGA/mode=VGAHI;intnum=20,i;inttop,bottom;initgraph(&driver,&mode,"");top=y-30;bottom=y-30;for(i=0;i

127題目:一個(gè)最優(yōu)美的圖案。1.程序分析:2.程序源代碼:include"graphics.h"include"math.h"include"dos.h"include"conio.h"tfinclude"stdlib.h"include"stdio.h"include"stdarg.h"#defineMAXPTS15#definePI3.1415926structPTS{intx,y;};doubleAspectRatio=0.85;voidLineToDemo(void)|structviewporttypevp;structPTSpoints[MAXPTS];inti,j,h,w,xcentecycenter;intradiuszangle,step;doublerads;printf("Movelb/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

128【程序66]題目:輸入3個(gè)數(shù)a,b,c,按大小順序輸出。1.程序分析:利用指針?lè)椒ā?.程序源代碼:/?pointer*/main()(intnl,n2,n3;int*pointerl,*pointer2/*pointer3;printf("pleaseinput3number:nl/n2/n3:H);scanf("%d/%d/%d"/&nl/&n2,&n3);pointerl=&nl;pointer2=&n2;pointer3=&n3;if(nl>n2)swap(pointerlzpointer2);if(nl>n3)swap(pointerl,pointer3);if(n2>n3)swap(pointer2,pointer3);printf("thesortednumbersare:%d,%d,%d

129"znl,n2,n3);}swap(pl,p2)int*plz*p2;{intp;p=*pl;*pl=*p2;*p2=p;【程序67]題目:輸入數(shù)組,最大的與第?個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組。1.程序分析:譚浩強(qiáng)的書中答案有問(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("%d,",&number[i]);scanf(“%d,&number[9]);}

130max_min(array)intarray[10];{int*max/*min/kj;int*pz*arr_end;arr_end=array+10;max=min=array;for(p=array+l;p*max)max=p;elseif(*p<*min)min=p;k=*max;l=*min;*p=array[O];array[O]=l;l=*p;*p=array[9];array[9]=k;k=*p;return;}output(array)intarray[10];{int*p;for(p=array;p

131,,/array[9]);【程序68]題目:有n個(gè)整數(shù),使其前面各數(shù)順序向后移m個(gè)位置,最后m個(gè)數(shù)變成最前面的m個(gè)數(shù)1.程序分析:2.程序源代碼:main()intnumber[20]/n/mJ;printf("thetotalnumbersis:");scanf("%cT,&n);printf("backm:");scanf("%d”,&m);for(i=0;iarray;p—)*p=*(p-l);*array=array__end;m—;if(m>0)move(array/n/m);

132【程序691題目:有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:");scanf("%d”,&n);p=num;for(i=0;i

133n);scanf("%s”,str);len=length(str);printf("thestringhas%dcharacters."Jen);}length(p)char*p;

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

135pleaseinput%dof%d

136"J+lzN);printf("num:");scanf("%s",stu[i].num);printf("name:*');scanf("%s",stu[i].name);for(j=0;j<3;j++){printf("score%d.nJ+l);scanf("%cT,&stu[i].score[j]);)printf("

137");}}

138print(stu)structstudentstu[];{intij;printf("

139No.NameScolSco2Sco3

140");for(i=0;i

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

142");for(i=0;i<=4;i++)|scanf("%cT,&num);ptr->data=num;ptr->next=(link)malloc(sizeof(node));if(i==4)ptr->next=NULL;elseptr=ptr->next;}ptr=head;

143while(ptr!=NULL){printf("Thevalueis==>%d

144"/ptr->data);ptr=ptr->next;}【程序73]題目:反向輸出一個(gè)鏈表。1.程序分析:2.程序源代碼:"reverseoutputalist*/ffinclude"stdlib.h"include"stdio.h"structlist{intdata;structlist*next;typedefstructlistnode;typedefnode*link;voidmain(){linkptGheadztail;intnumj;tail=(link)malloc(sizeof(node));tail->next=NULL;ptr=tail;printf("

145pleaseinput5data==>

146");for(i=0;i<=4;i++){scanf(”%cT,&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]題目:連接兩個(gè)鏈表。1.程序分析:2.程序源代碼:include"stdlib.h"include"stdio.h"structlist

148{intdata;structlist*next;};typedefstructlistnode;typedefnode*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(linkpointeointnum){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(H\40:%d

149,min);pointer=delete_node(pointer;btmp);}}linkcreate_list(intarray[]Jntnum){linktmpl,tmp2,pointer;inti;pointer=(link)malloc(sizeof(node));pointer->data=array[0];tmpl=pointer;for(i=l;inext=NULL;

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

151l/l+l/3+...+l/n(利用指針函數(shù))1.程序分析:2.程序源代碼:main()include"stdio.h"main()floatpeven(),podd(),dcall();floatsum;intn;while(1)|scanf(“%d”,&n);if(n>l)break;)if(n%2==0)(printf(HEven=");sum=dcall(peven,n);}else(printf(nOdd=");sum=dcall(poddzn);}pnntf("%fH,sum);}floatpeven(intn)(floats;inti;s=l;for(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)

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

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

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

155");scanf("%s”,strl);scanf("%s"zstr2);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

156");printf(,,%s

157%s

158%s

159"/strl/str2/str3);}charswap(pl,p2)char*pl,*p2;(char*p[20];strcpy(p,pl);strcpy(pl/p2);strcpy(p2/p);}【程序80]題目:海灘上有一堆桃子,五只猴子來(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=j/4*5+l;i二j;

160if(j%4==0)count++;elsebreak;i=m;if(count==4){printf("%d

161”,count);break;}}}【程序81]題目:809*??=800*??+9*??+l其中??代表的兩位數(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&a8*i<100&&9*i>=100)output(bj);}}【程序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);

163【程序83]題目:求0—7所能組成的奇數(shù)個(gè)數(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("

165sum=%ld"/sum);}【程序84]題目:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。1.程序分析:2.程序源代碼:include"stdio.h"include"math,h"main(){inta,b,c,d;scanf("%d"z&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]題目:判斷一個(gè)素?cái)?shù)能被兒個(gè)9整除1.程序分析:

1671.程序源代碼:main(){longintm9=9,sum=9;intzi,nl=l,c9=l;scanf("%d"z&zi);while(nl!=0){if(!(sum%zi))nl=0;else{m9=m9*10;sum=sum+m9;c9++;}}printf("%ldzcanbedividedby%d\“9\",sum,c9);}【程序86]題目:兩個(gè)字符串連接程序1.程序分析:2.程序源代碼:include"stdio.h"main(){charaD-'acegikm'1;charb[]="bdfhjlnpq";charc[80],*p;inti=O,j=O,k=O;while(a[i]!='\0'&&b[j]l='\0'){if(a[i]{c[k]=a[i];i++;}elsec[k]=b[j++];k++;}c[k]='\O';if(a[i]=='\0')P=b+j;elsep=a+i;strcat(c,p);puts?;}【程序87]題目:回答結(jié)果(結(jié)構(gòu)體變量傳遞)

1681.程序分析: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(){inti,a,n=l;while(n<=7){do{scanf("%d",&a);}while(a50);for(i=l;i<=a;i++)printf("*");printf("

169");n++;}getch();}【程序89]題目:某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。1.程序分析:2.程序源代碼:

170main(){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;for(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(H%d",aa[i]);【程序90]題目:專升本一題,讀結(jié)果。1.程序分析:2.程序源代碼:include"stdio.h"#defineM5main(){inta[M]={l,2,3,4,5);inti=0;j=M-l;while。{t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;i++;j-;}for(i=0;iprintf("%d",*(a+i));【程序91]題目:時(shí)間函數(shù)舉例11.程序分析:2.程序源代碼:

171include"stdio.h"include"time,h"voidmain(){time_tIt;/*definealonginttimevarible*/lt=time(NULL);/*systemtimeanddate*/printf(ctime(<));/*englishformatoutput*/printf(asctime(localtime(<)));/*tranfertotm*/printf(asctime(gmtime(<)));/*tranfertoGreenwichtime*/【程序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("\l\l\l\l\l\l\l\l\l\l

172");}end=time(NULL);printf("\l:Thedifferentis%6,3f

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

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

175"/(double)(end-start));【程序94]題目:時(shí)間函數(shù)舉例4,一個(gè)猜數(shù)游戲,判斷一個(gè)人反應(yīng)快慢。(版主初學(xué)時(shí)編的)1.程序分析:

1761.程序源代碼:include"time.h"include"stdlib.hMinclude"stdio.h"main(){charc;clock_tstart,end;a,b;doublevar;inti,guess;srand(time(NULL));printf("doyouwanttoplayit.('y'or'n')

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

178pleaseinputnumberyouguess:

179");start=clock();a=time(NULL);scanf(”%cT,&guess);while(guess!=i){if(guess>i){printf("pleaseinputalittlesmaller.

180");scanf("%d,&giiess);}else{printf("pleaseinputalittlebigger.

181");scanf(”%cT,&guess);}}end=clock();b=time(NULL);printf("\l:Ittookyou%6.3fseconds

182"zvar=(double)(end-start)/18.2);printf("\l:ittookyou%6.3fseconds

183

184"/difftime(b/a));if(var<15)printf("\l\lYouareveryclever!\l\l

185

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

187

188H);elseprintf("\l\lyouarestupid!\l\l

189

190");printf("\l\lCongradulations\l\l

191

192");printf("Thenumberyouguessis%d"J);)printf("

193doyouwanttotryitagain?(\"yy\".or.\"n\")

194");if((c=getch())=='y')gotoloop;}【程序95]題目:家庭財(cái)務(wù)管理小程序1.程序分析:

1951.程序源代碼:/*moneymanagementsystem*/include"stdio.h"include"dos.h"main()(FILE*fp;structdated;floatsum,chm=0.0;intlen,i,j=0;intc;charch[4]=""/chl[16]=""/chtime[12]=""/chshop[16]/chmoney[8];pp:clrscr();sum=0.0;gotoxy(l,l);printf("|1");gotoxy(l,2);printf("|moneymanagementsystem(Cl.O)2000.03gotoxy(l,3);printf("|1");gotoxy(l,4);printf(”|-moneyrecords—|-todaycostlist-|");2005-1-2211:33回復(fù)zhlei8173位粉絲18樓gotoxy(l,5);printf("||1");gotoxy(l,6);printf("|date:|gotoxy(l,7);printf("|||||");gotoxy(l,8);printf("|||");gotoxy(l,9);printf("|thgs:||");gotoxy(l,10);printf("|||||");gotoxy(l,ll);printf("||gotoxy(l,12);printf("|cost:||");gotoxy(l,13);printf("|||||");gotoxy(l,14);printf("||gotoxy(l,15);printf("|||");gotoxy(l,16);printf("|||");gotoxy(l,17);printf("||「);gotoxy(l,18);printf('1|||”);gotoxy(l,19);printf(1)|||“);gotoxy(l,20);printf(''|||");gotoxy(l/21);printf(',|||");

196gotoxy(l,22);printf("||gotoxy(l/23);printf(,'|1");i=0;getdate(&d);sprintf(chtime;,%4d.%02d.%02d"/d.da_year/d.da_mon/d.da_day);for(;;)(gotoxy(3,24);printf(MTab_browsecostlistEsc_quit");gotoxy(13/10);printf("gotoxy(13,13);printf("");gotoxy(13/7);pnntf(,,%s,,/chtime);>18;ch[O]=getch();if(ch[O]==27)break;strcpy(chshop/,H);strcpy(chmoney/'");if(ch[0]==9)(mm:i=O;fp=fopen(',home.dat";'r+'');gotoxy(3/24);printf(K");gotoxy(6,4);printf("listrecords");gotoxy(l,5);printf("|「);gotoxy(41,4);printf("");gotoxy(41,5);printf(nwhile(fscanf(fp,"%10s%14s%f

197",chtime,chshop/&chm)!=EOF){if(i==36){getch();i=0;}if((i%36)<17){gotoxy(4,6+i);printfC");gotoxy(4,6+i);}elseif((i%36)>16){gotoxy(4L4+i-17);printfC");gotoxy(42z4+i-17);}i++;sum=sum+chm;

198printf("%10s%-14s%6.1f

199",chtime/chshop/chm);}gotoxy(l,23);printf("|1");gotoxy(l,24);printf("|gotoxy(l,25);printf("|1");gotoxy(10,24);printf("totalis%8.1f$",sum);fclose(fp);gotoxy(49,24);printf("pressanykeyto.….");getch();gotopp;}else(while(ch[O]!='\r'){if(j<10){strncat(chtime/ch/l);j++;}if(ch[0]==8)(len=strlen(chtime)-l;if(j>15){len=len+l;j=ll;}strcpy(chl;n,);j=j-2;strncat(chl/chtimejen);strcpy(chtimej'");strncat(chtime/chljen-l);gotoxy(13J);printf(M*');)gotoxy(13,7);pnntf(,'%s,,,chtime);ch[0]=getch();if(ch[0]==9)gotomm;if(ch[0]==27)exit(l);)gotoxy(3/24);printf("");gotoxy(13z10);j=0;ch[0]=getch();while(ch[O]l=V){if(j<14){strncat(chshop/ch/l);j++;)if(ch[0]==8){len=strlen(chshop)-l;

200strcpy(chl,H");j=j-2;strncat(chlzchshopjen);strcpy(chshop/"');strncat(chshop,chljen-l);gotoxy(13/10);printf("");}gotoxy(13/10);printf(',%s"/chshop);ch[0]=getch();}gotoxy(13/13);j=0;ch[O]=getch();while(ch[O]!='\r'){if(j<6){stmcat(chmoney,ch,l);j++;)if(ch[0]==8){len=strlen(chmoney)-l;strcpy(chl;n,);j=j-2;strncat(chl/chmoneyjen);strcpyfchmoneyj'");strncat(chmoney/chljen-l);gotoxy(13z13);printf("M);}gotoxy(13/13);pnntf(',%s"/chmoney);ch[0]=getch();}if((strlen(chshop)==0)||(strlen(chmoney)==0))continue;if((fp=fopen("home.dat","a+"))l=NULL);fprintf(fp/"%10s%14s%6s"/chtime/chshop/chmoney);fputc('

201',fp);fclose(fp);i++;gotoxy(41,5+i);printf("%10s%-14s%-6s"/chtime/chshop/chmoney);}}}【程序96]題目:計(jì)算字符串中子串出現(xiàn)的次數(shù)1.程序分析:2.程序源代碼:include"string.h"include"stdio.h"main(){charstrl[2O]/str2[2O]/*pl/*p2;intsum=0;printf("pleaseinputtwostrings

202");

203scanf("%s%s"/strl/str2);pl=strl;p2=str2;while(*pl!=,\O,)(if(*pl==*p2){while(*pl==*p2&&*p2!='\0'){pl++;p2++;}}elseP1++;if(*p2=='\0')sum++;p2=str2;}printf("%d",sum);getch();}【程序97]題目:從鍵盤輸入一些字符,逐個(gè)把它們送到磁盤上去,直到輸入一個(gè)#為止。1.程序分析:2.程序源代碼:include"stdio.h"main(){FILE*fp;charchzfilename[10];seanf("%s",filename);if((fp=fopen(filename/"wH))==NULL){printf("cannotopenfile

204");exit(O);)ch=getchar();ch=getchar();while(ch!-#'){fputc(chzfp);putchar(ch);ch=getchar();}fclose(fp);【程序98]題目:從鍵盤輸入一個(gè)字符串,將小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個(gè)磁盤文件“test”中保存。輸入的字符串以!結(jié)束。

2051.程序分析:2.程序源代碼:include"stdio.h"main(){FILE*fp;charstr[100],filename[10];inti=0;if((fp=fopen("test,,/"w"))==NULL){printf("cannotopenthefile

206");exit(O);)printf("pleaseinputastring:

207");gets(str);while(str!='!'){if(str>='a'&&str<=,z')str=str-32;fputc(stcfp);i++;}fclose(fp);fp=fopen("test'7'r");fgets(stGStrlen(str)+lzfp);printf("%s

208,str);fclose(fp);}【程序99]題目:有兩個(gè)磁盤文件A和B,各存放一行字母,要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件C中.L程序分析:2?程序源代碼:include"stdio.h"main(){FILE*fp;intij,n,ni;charc[160],t,ch;if((fp=fopen("A";,r"))==NULL){printf(nfileAcannotbeopened

209");exit(O);}printf("

210Acontentsare:

211");for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);)

212fclose(fp);ni=i;if((fp=fopen("B";'r"))==NULL){printf("fileBcannotbeopened

213");exit(O);)printf("

214Bcontentsare:

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

216Cfileis:

217");fp=fopen("C'\"w,1);for(i=0;i

218pleaseinputNo.%dscore:

219"J);

220printf("stuNo:");scanf("%s",stu[i].num);printf(”name:");scanf("%s”,stu。].name);sum=O;for(j=0;j<3;j++){printf("score%d."J+l);scanf("%d,'/&stu[i].score[j]);sum+=stu[i].score[j];}stu[i].avr=sum/3.0;}fp=fopen(Hstud"/"wn);for(i=0;i<5;i++)if(fwrite(&stu[i],sizeof(structstudent),l,fp)!=l)printf("filewriteerror

221");fclose(fp);

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(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)閉