33");【程序14]題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對n進行分解質(zhì)因數(shù),應先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成:(1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結束,打印出即可。(2)如果n〈>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復執(zhí)行第一步。⑶如果n不能被k整除,則用k+1作為k的值,重復執(zhí)行第一步。3.程序源代碼:/*zhengintisdividedyinshu*/main()
34(intn,i;printf(z/
35pleaseinputanumber:
36w);scanf("%d",&n);printfC%d=*,n);for(i=2;i<=n;i++)(while(n!=i)(if(n%i==O){printf(*%d**?i);n=n/i;)elsebreak;printfn);}【程序15]題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b這是條件運算符的基本例子。2.程序源代碼:main()intscore;chargrade;printf(,zpleaseinputascore
37〃);scanf&score);grade=score>=90?&jz54;A&jz54;:(score>=60?&jz54;B&jz54;:&jz54;C&jz54;);printf(,z%dbelongsto%c,z,score,grade);【程序16]題目:輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。作者:zhlei812005-1-2211:30回復此發(fā)言
384回復:經(jīng)典C源程序100例1.程序分析:利用輾除法。2.程序源代碼:main()(inta,b,numl,num2,temp;printf(,zpleaseinputtwonumbers:
39z,);scanf("%d,%d”,&numl,&num2);if(num1{temp=num1;numl=num2;num2=temp;)a=num1;b=num2;while(b!=0)/*利用輾除法,直到b為0為止*/(temp=a%b;a二b;b=temp;}printf(,zgongyueshu:%d
40z,,a);printf(zzgongbeishu:%d
41,z,numl*num2/a);【程序17]題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。1.程序分析:利用while語句,條件為輸入的字符不為&jz54;
42&jz54;.2.程序源代碼:#include"stdio.h"main(){charc;intletters=0,space=0,digit=0,others=0;printf(z,pleaseinputsomecharacters
43,z);while((c=getchar())!=&jz54;
44&jz54;)(if(c>=&jz54;a&jz54;&&c<二&jz54;z&jz54;Ic>=&jz54;A&jz54;&&c<=&jz54;Z&jz54;)letters++;elseif(c==&jz54;&jz54;)space++;elseif(c>=&jz54;0&jz54;&&c<=&jz54;9&jz54;)digit++;
45elseothers++;}printf(,zallinall:char=%dspace=%ddigit=%dothers=%d
46,z,letters,space,digit,others);【程序18]題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。1.程序分析:關鍵是計算出每一項的值。2.程序源代碼:main()(inta,n,count=l;longintsn=0ftn=0;printf(,zpleaseinputaandn
47〃);scanf(〃%d,%d",&a,&n);printf("a=%d,n=%d
48〃,a,n);while(count<=n)(tn=tn+a;sn=sn+tn;a=a*10;++count;)printf("a+aa+…=%ld
49”,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==0)(printf("%disawanshu”,j);for(i=0;iprintf("%d,",k[i]);printf("%d
50",k[n]);
51}【程序20]題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?1.程序分析:見下面注釋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(wthetotalofroadis%f
52z,,sn);printf(wthetenthis%fmeter'n”,hn);作者:zhlei812005-1-2211:30回復此發(fā)言5回復:經(jīng)典C源程序100例【程序21]題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。1.程序分析:采取逆向思維的方法,從后往前推斷。2.程序源代碼:main(){intday,xl,x2;
53day=9;x2=l:while(day>0){xl=(x2+l)*2;/*第一天的桃子數(shù)是第2天桃子數(shù)加1后的2倍*/x2=xl;day一;printf(wthetotalis%d
54w,xl);【程序22]題目:兩個乒乓球隊進行比賽,各出三人。甲隊為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=&jz54;x&jz54;;i〈=&jz54;z&jz54;;i++)for(j=&jz54;x&jz54;;j<=&jz54;z&jz54;;j++)|if(i!=j)for(k=&jz54;x&jz54;;k<=&jz54;z&jz54;;k++){if(i!=k&&j!=k){if(i!=&jz54;x&jz54;&&k!=&jz54;x&jz54;&&k!=&jz54;z&jz54;)printf("orderisa-%c\tb-%c\tc-%c
55”,i,j,k);【程序23]題目:打印出如下圖案(菱形)
56********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("");for(k=0;k〈=2*i;k++)printf("*");printf('
57"):}for(i=0;i〈=2;i++)(for(j=0:j<=i;j++)printf("");for(k=0;k<=4-2*i;k++)printf('*");printf(〃
58"):)【程序24]題目:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前20項之和。L程序分析:請抓住分子與分母的變化規(guī)律。3.程序源代碼: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;/*這部分是程序的關鍵,請讀者猜猜t的作用*/)
59printf("sumis%9.6f
60",s);【程序25]題目:求l+2!+3!+...+20!的和1.程序分析:此程序只是把累加變成了累乘。2.程序源代碼:main()floatn,s=0,t=l;for(n=l;n<=20;n++)(t*=n;s+=t;}printf('l+2!+3!.??+20!=%e
61,z,s);【程序26]題目:利用遞歸方法求5!。1.程序分析:遞歸公式:fn=fn_l*4!2.程序源代碼:#include"stdio.h〃main()(inti;intfact();for(i=0;i<5;i++)printf("\40:%d!=%d
62”,i,fact(i));)intfact(j)intj;(intsum;if(j==0)sum=l;elsesum=j*fact(jT);returnsum;}【程序27]
63題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的5個字符,以相反順序打印出來。1.程序分析:2.程序源代碼:#include"stdio.h〃main()(inti=5;voidpalin(intn);回復此發(fā)言作者:zhlei812005-1-2211:306回復:經(jīng)典C源程序100例printf(*\40:*);palin(i);printf(*
64*);)voidpalin(n)intn;(charnext;if(n〈=l)(next=getchar();printf("
65\0:");putchar(next);)else|next=getchar();palin(n-1);putchar(next);【程序28]題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第
663個人大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(){printfage(5));【程序29]題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。1.程序分析:學會分解出每一位數(shù),如下解釋:(這里是一種簡單的算法,師專數(shù)002班趙鑫提供)2.程序源代碼:main(){longa,b,c,d,e,x;scanf&x);a=x/10000;/*分解出萬位*/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
67”,e,d,c,b,a);elseif(b!=0)printf("thereare4,%ld%ld%ld%ld
68”,e,d,c,b);elseif(c!=0)printfCthereare3,%ld%lde,d,c);elseif(d!=0)printf("thereare2,%lde,d);elseif(e!=0)printf(z/thereare1,%ld
69*,e);【程序30]題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。
701.程序分析:同29例2.程序源代碼:main(){longge,shi,qian,wan,x;scanf&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge=wan&&shi=二qian)/*個位等于萬位并且十位等于千位*/printf(zzthisnumberisahuiwen
71〃);elseprintf(z,thisnumberisnotahuiwen
72,/);}作者:zhlei812005-1-2211:30回復此發(fā)言7回復:經(jīng)典C源程序100例程序31】題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)判斷第二個字母。1.程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母。2.程序源代碼:ttincludevoidmain()(charletter;printf(,zpleaseinputthefirstletterofsomeday
73");while((letter=getch())!=&jz54;Y&jz54;)/*當所按字母為Y時才結束*/{switch(letter){case&jz54;S&jz54;:printfC'pleaseinputsecondletter
74,z);if((letter=getch())==&jz54;a&jz54;)printf("Saturday
75〃);elseif((letter=getch0)==&jz54;u&jz54;)printf("sunday
76〃);
77elseprintf("dataerror
78〃);break;case&jz54;F&jz54;:printf(,zfriday
79,z);break;case&jz54;M&jz54;:printf(z,monday
80z,);break;case&jz54;T&jz54;:printf("pleaseinputsecondletter
81,z);if((letter=getch())=&jz54;u&jz54;)printf(z,tuesday
82,z);elseif((letter=getch())=&jz54;h&jz54;)printf(〃thursday
83〃);elseprintf("dataerror
84,z);break;case&jz54;W&jz54;:printf("Wednesday
85〃);break;default:printf(,zdataerror
86z,);}})【程序32]題目:Pressanykeytochangecolor,doyouwanttotryit.Pleasehurryup!L程序分析:.2.程序源代碼:#includevoidmain(void)(intcolor;for(color=0;color<8;color++)(textbackground(color);/*設置文本的背景顏色*/cprintf("Thisiscolor%d\r
87,z,color);cprintf("Pressanykeytocontinue\r
88,z);getchO;/*輸入字符看不見*/【程序33]題目:學習gotoxy()與clrscrO函數(shù)L程序分析:2.程序源代碼:ttincludevoidmain(void)(clrscrO;/*清屏函數(shù)*/textbackground(2);gotoxy(1,5);/*定位函數(shù)*/cprintf(,zOutputatrow5columnl
89〃);textbackground(3);
90gotoxy(20,10);cprintf(,zOutputatrow10column20
91〃);【程序34]題目:練習函數(shù)調(diào)用1.程序分析:2.程序源代碼:ttincludevoidhello_world(void)(printf(,zHello,world!
92,z);}voidthree_hellos(void)(intcounter;for(counter=1;counter<=3;counter++)hello_world();/*調(diào)用此函數(shù)*/}voidmain(void)(three_hellos();/*調(diào)用此函數(shù)*/)【程序35]題目:文本顏色設置1.程序分析:2.程序源代碼:ttincludevoidmain(void)(intcolor;for(color=1;color<16;color++)(textcolor(color);/*設置文本顏色*/cprintf(z,Thisiscolor%d\r
93”,color);)textcolor(128+15);cprintf(z,Thisisblinking\r
94,z);【程序36]題目:求100之內(nèi)的素數(shù)L程序分析:3.程序源代碼:
95Sinclude#include"math.h〃SdefineN101main()inti,j,line,a[N];for(i=2;i〈N;i++)a[i]=i;for(i=2:i96"):for(i=2,line=0;i97");line=0;}【程序37]題目:對10個數(shù)進行排序1.程序分析:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換,下次類推,即用第二個元素與后8個進行比較,并進行交換。2.程序源代碼:#defineN10main(){inti,j,min,tem,a[N];/*inputdata*/printf("pleaseinputtennum:
98,z);for(i=0;i99");
100for(i=0;i101");/*sorttennum*/for(i=0;ia[j])min=j;tem=a[i];a[i]=a[min];a[min]=tem;)/*outputdata*/printf(''Aftersorted
102〃);for(i=0;i103,z);for(i=0;i<3;i++)for(j=0;j<3;j++)scanf&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf(,zduijiaoxianheis%6.2fsum);)【程序39]題目:有一個已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。1.程序分析:首先判斷此數(shù)是否大于最后一個數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個位置。2.程序源代碼:main()(inta[ll]={l,4,6,9,13,16,19,28,40,100};inttempi,temp2,number,end,i,j;printf(^originalarrayis:
104〃);for(i=0;i<10;i++)printf("%5d",a[i]);printf("
105");printf(^insertanewnumber:,z);
106scanfftnumber);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;j107originalarray:
108〃);for(i=0;i109sortedarray:
110z,);for(i=0;i111作者:zhlei812005-1-2211:30回復此發(fā)言10回復:經(jīng)典C源程序100例【程序51]題目:學習使用按位與&。1.程序分析:0&0=0;0&1=0;1&0=0;1&1=12.程序源代碼:ttinclude"stdio.h"main()(inta,b;a=077;b=a&3;printf(*\40:Thea&b(decimal)is%d
112〃,b);b&=7;printf("\40:Thea&b(decimal)is%d
113〃,b);【程序52]題目:學習使用按位或I。L程序分析:0|0=0;0|1=1;1|0=1;1|1=13.程序源代碼:ttinclude"stdio.h〃main()
114inta,b;a=077;b=a13;a&b(decimal)is%d
115',b);a&b(decimal)is%d
116',b);printf("\40:Theb|=7;printf(*\40:The【程序53]題目:學習使用按位異或八。1.程序分析:0-0=0;0*1=1;1*0=1;1*1=02.程序源代碼:ttinclude"stdio.h〃main()(inta,b;a=077;b二a3;printf(*\40:Thea&b(decimal)is%d
117〃,b);b*=7;printf("\40:Thea&b(decimal)is%d
118”,b);【程序54]題目:取一個整數(shù)a從右端開始的4?7位。程序分析:可以這樣考慮:⑴先使a右移4位。⑵設置一個低4位全為1,其余全為0的數(shù)??捎?(-0<<4)(3)將上面二者進行&運算。3.程序源代碼:main()(unsigneda,b,c,d;scanf&a);b=a?4;c=^C0?4);d=b&c;printf("%o
119%o
120”,a,d);【程序55]題目:學習使用按位取反工L程序分析:、0二1;“1二0;4.程序源代碼:ttinclude"stdio.hmain()inta,b;
121a=234;b=~a;printf(,z\40:Thea&jz54;s1complement(decimal)is%d
122〃,b);a=~a;printf(z,\40:Thea&jz54;s1complement(hexidecimal)is%x
123〃,a);【程序56]題目:畫圖,學用circle畫圓形。L程序分析:2.程序源代碼:/"circle*/ttinclude"graphics.h〃main(){intdriver,mode,i;floatj=l,k=l;driver=VGA;mode=VGAHI;initgraph(&driver,&modc,〃〃);setbkcolor(YELLOW);for(i=0;i<=25;i++)(setcolor(8);circle(310,250,k);k=k+j;j=j+0.3;})【程序57]題目:畫圖,學用line畫直線01.程序分析:2.程序源代碼:ttinclude〃graphics.h〃main(){intdriver,mode,i;floatxO,yO,yl,xl;floatj=12,k;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,〃〃);setbkcolor(GREEN);x0=263;y0=263;y1=275;xl=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;
124j=j+10;}x0=263;y1=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]題目:畫圖,學用rectangle畫方形。L程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位2.程序源代碼:ttinclude"graphics.h〃main(){intxO,yO,yl,xl,driver,mode,i;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,〃〃);setbkcolor(YELLOW);x0=263;y0=263;yl=275;x1=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);回復此發(fā)言作者:zhlei812005-1-2211:31
12511回復:經(jīng)典C源程序100例outtextxy(150,40,*Howbeautifulitis!”);line(130,60,480,60);setcolor(2);circle(269,269,137);【程序59]題目:畫圖,綜合例子。L程序分析: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,yO,10);circle(xO,yO,20);circle(xO,yO,50);for(i=0;i<16;i++){a=(2*PAI/16)*i;x=cei1(x0+48*cos(a));y=ceil(y0+48*sin(a)*B);setcolor(2);line(xO,yO,x,y);}setcolor(3);circle(xO,yO,60);/*Make0timenormalsizeletters*/settextstyle(DEFAULT_FONT,HORIZ_DIR,0);outtextxy(10,170,Xpressakey");getch();setfillstyle(HATCHFILL,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;
126x=cei1(x0+48*cos(a)):y=cei1(yO+48+sin(a)*B);setcolor(2);line(x0,yO,x,y);)for(j=l;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(x0,yO,x,y):))restorecrtmodeO;)【程序60]題目:畫圖,綜合例子。1.程序分析:2.程序源代碼:^include"graphics,h”^defineLEFT0ttdefineTOP0ttdefineRIGHT639ttdefineBOTTOM479ttdefineLINES400ttdefineMAXCOLOR15main()(intdriver,mode,error;intxl,yl;intx2,y2;intdxl,dyl,dx2,dy2,i=l;intcount=0;intcolor=0;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,;xl=x2=yl=y2=10;dxl=dyl=2;dx2=dy2=3;while(!kbhit()){line(xl,yl,x2,y2);xl+=dxl;yl+=dyl;x2+=dx2;y2+dy2;
127if(xl<=LEFT||xl>=RIGHT)dxl=-dxl;if(yl<=TOP||yl>=BOTTOM)dyl=-dyl;if(x2<=LEFT|x2>=RIGHT)dx2=-dx2;if(y2<=T0P||y2>=B0TT0M)dy2=-dy2;if(++count>LINES)(setcolor(color);color=(color>=MAXCOLOR)?0:++color;)}closegraph();作者:zhlei812005-1-2211:31回復此發(fā)言12回復:經(jīng)典C源程序100例【程序61]題目:打印出楊輝三角形(要求打印出10行如下圖)1.程序分析:121133114641151010512.程序源代碼:mainO{inti,j;inta[10][10];printf('
128"):for(i=0:i<10;i++){a[i][0]=l;a[i][i]=l;}for(i=2;i<10;i++)for(j=l:j
129for(i=0;i<10;i++){for(j=0:j<=i;j++)printf(*%5d*,a[i][j]);printf("
130");)【程序62]題目:學習putpixel畫點。1.程序分析:2.程序源代碼:#include*stdio.h"#includegraphics,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,1);for(j=50;j<=230;j+=20)for(i=50;i<=230;i++)putpixel(i,j,1);【程序63]題目:畫橢圓ellipse1.程序分析:2.程序源代碼:ttinclude"stdio.h"ttinclude"graphics.h〃ttinclude'conio.h"main()(intx=360,y=160,driver=VGA,mode=VGAHI;intnum=20,i;inttop,bottom;initgraph(&driver,&mode,〃〃);top=y-30;bottom=y-30;for(i=0;i131top-=5;bottom+=5;)getchO;【程序64]題目:利用ellipseandrectangle畫圖。1.程序分析:2.程序源代碼:#include"stdio.h"ttinclude'graphics.h〃#include"conio.h"main()(intdriver二VGA,mode=VGAHI;inti,num=15,top=50;intleft=20,right=50;initgraph(&driver,&mode,〃〃);for(i=0;i132h=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;in2)swap(pointeri,pointer2);
133if(nl>n3)swap(pointeri,pointers);if(n2>n3)swap(pointer2,pointer3);printf(,zthesortednumbersare:%d,%d,%d
134z,,nl,n2,n3);swap(pl,p2)int*pl,*p2;{intp;p二*p1;*pl二*p2;*p2=p;【程序67]題目:輸入數(shù)組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數(shù)組。L程序分析:譚浩強的書中答案有問題。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,1;int*p,*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[0];array[0]=1;l=*p;*p=array[9];array[9]=k;k=*p;return;)output(array)intarray[10];
135{int*p;for(p=array;p136〃,array[9]);【程序68]題目:有n個整數(shù),使其前面各數(shù)順序向后移m個位置,最后m個數(shù)變成最前面的m個數(shù)L程序分析:2.程序源代碼:main()(intnumber[20],n,m,i;printf(,zthetotalnumbersis:〃);scanf("%d",&n);printf("backm:");scanf("%d〃,&m);for(i=0;iarray;p-)*p=*(p-1);*array=array_end;m——;if(m>0)move(array,n,m);【程序69]題目:有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。1.程序分析:2.程序源代碼:
137#definenmax50main()inti,k,m,n,num[nmax],*p;printfC'pleaseinputthetotalofnumbers:;scanf("%d〃,&n);p=num;for(i=0;i138,z,*p);)【程序70]題目:寫一個函數(shù),求一個字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度。L程序分析:2.程序源代碼:main()(intlen;char*str[20];printf(^pleaseinputastring:
139/z);scanfstr);len=length(str);printf(,zthestringhas%dcharacters.len);)length(p)char*p;intn;n=0;while(*p!=&jz54;\0&jz54;)n++;p++;)returnn;
140作者:zhlei812005-1-2211:32回復此發(fā)言14回復:經(jīng)典C源程序100例【程序71]題目:編寫input。和output。函數(shù)輸入,輸出5個學生的數(shù)據(jù)記錄。1.程序分析:2.程序源代碼:#defineN5structstudent{charnum[6];charname[8];intscore[4];}stu[N];input(stu)structstudentstu[];{inti,j;for(i=0;i141pleaseinput%dof%d
142”,i+1,N);printf(z,num:");scanfstu[i].num);printf("name:〃);scanfstu[i].name);for(j=0;j<3;j++){printf("score%d.〃,j+1);scanf("%d〃,&stu[i].score[j]);}printf('
143");)print(stu)structstudentstu[];{inti,j;printf("
144No.NameScolSco2Sco3
145");for(i=0;i146");
147})main()(input();print();【程序72]題目:創(chuàng)建一個鏈表。1.程序分析:2.程序源代碼:/*creatalist*/ttinclude"stdlib.h"#include"stdio.h"structlist{intdata;structlist*next;);typedefstructlistnode;typedefnode*link;voidmain(){linkptr,head;intnum,i;ptr=(1ink)malloc(sizeof(node));ptr=head;printf("pleaseinput5numbers=二>
148〃);for(i=0;i<=4;i++)(scanf(〃%d〃,&num);ptr->data=num;ptr->next=(1ink)malloc(sizeof(node));if(i==4)ptr->next=NULL;elseptr=ptr->next;)ptr=head;while(ptr!=NULL){printf(,zThevalueis->%d
149z,,ptr->data);ptr=ptr->next;})【程序73]題目:反向輸出一個鏈表。L程序分析:2.程序源代碼:/*reverseoutputalist*/ttinclude"stdlib.h"ttinclude"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;printf(z,
150pleaseinput5data=>
151〃);for(i=0;i<=4;i++)(scanf&num);
152ptr->data=num;head=(link)malloc(sizeof(node));head->next=ptr;ptr=head;}ptr=ptr->next;while(ptr!=NULL){printfC'Thevalueis==>%d
153,z,ptr->data);ptr=ptr->next;})【程序74]題目:連接兩個鏈表。L程序分析:2.程序源代碼:ttinclude"stdlib.h"ttinclude"stdio.h〃structlist{intdata;structlist*next;};typedefstructlistnode;typedefnode*link;linkdelete_node(linkpointer,linktmp){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(,z\40:%d
154,z,min);pointer=delete_node(pointer,btmp);回復此發(fā)言作者:zhlei812005-1-2211:3215回復:經(jīng)典C源程序100例)
155)linkcreate_list(intarray[],intnum){linktmpl,tmp2,pointer;inti;pointer=(link)malloc(sizeof(node));pointer->data=array[0];tmpl=pointer;for(i=l;inext=NULL;tmp2->data=array[i];tmpl->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;ptr=create_list(arrl,5);selection_sort(ptr,5);)【程序75]題目:放松一下,算一道簡單的題目。1.程序分析:2.程序源代碼:main()inti,n;for(i=l;i<5;i++){n=0;if(i!=l)n=n+l;
156if(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]題目:編寫一個函數(shù),輸入n為偶數(shù)時,調(diào)用函數(shù)求l/2+1/4+...+l/n,當輸入n為奇數(shù)時,調(diào)用函數(shù)1/1+1/3+...+l/n(利用指針函數(shù))1.程序分析:2.程序源代碼:main()ttinclude"stdio.h"main(){floatpeven(),podd(),deal1();floatsum;intn;while(1)(scanf(〃%d〃,&n);if(n>l)break;)if(n%2==0)(printf("Even=");sum=dcall(peven,n);)elseprintfCOdd=");sum=dcal1(podd,n);)printfsum);)
157floatpeven(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)s+=l/(float)i;return(s);)floatdcall(fp,n)float(*fp)():intn:(floats:s=(*fp)(n);return(s):)【程序77]題目:填空練習(指向指針的指針)1.程序分析:2.程序源代碼:main()(char*sLJ=tman,woman,girl,boy,sister);char**q;intk;for(k=0;k<5;k++){;/*這里填寫什么語句*/printf("%s
158",*q);【程序78]題目:找到年齡最大的人,并輸出。請找出程序中有什么問題。1.程序分析:2.程序源代碼:ftdefineN4ttinclude"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;iage)q=p++;m=q->age;}printf%d〃,(*q).name,(*q).age);}【程序79]題目:字符串排序。
1591.程序分析:2.程序源代碼:main()(char*strl[20],*str2[20],*str3[20];charswap();printf(z,pleaseinputthreestrings
160〃);scanf('%s”,strl);scanf('%s”,str2);scanfstr3);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(z,afterbeingsorted
161〃);printf(/z%s
162%s
163%s
164zz,strl,str2,str3);}charswap(pl,p2)char*pl,*p2;char*p[20];strcpy(p,pl):strcpy(pl,p2)jstrcpy(p2,p);【程序80]題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?1.程序分析:2.程序源代碼:main(){inti,m,j,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;
165if(count==4){printf("/d
166",count);break;}))作者:zhlei812005-1-2211:32回復此發(fā)言16回復:經(jīng)典C源程序100例【程序81]題目:809*??=800*??+9*??+1其中??代表的兩位數(shù),8*??的結果為兩位數(shù),9*??的結果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結果。1.程序分析:2.程序源代碼:output(longb,longi){printfC,
167%ld/%ld=809*%ld+%ldw,b,i,i,b%i);)main(){longinta,b,i;a=809;for(i=10;i<100;i++){b=i*a+l;if(b>=l000&&b<=10000&&8*i<100&&9*i>=100)output(b,i);}【程序82]題目:八進制轉換為十進制1.程序分析:2.程序源代碼:main(){char*p,s[6];intn;P=s;gets(p);n=0;while(*(p)!=&jz54;\0&jz54;){n=n*8+*p-&jz54;0&jz54;;P++;}printfn);
168【程序83]題目:求0—7所能組成的奇數(shù)個數(shù)。1.程序分析:2.程序源代碼:main()|longsum=4,s=4;intj:for(j=2;j<=8;j++)/*jisplaceofnumber*/{printf(/z
169%ld/\sum);if(j<=2)s*=7;elses*=8;sum+=s;}printf(/z
170sum=%ld/z,sum);【程序84]題目:一個偶數(shù)總能表示為兩個素數(shù)之和。L程序分析:2.程序源代碼:#include"stdio.h〃ttinclude"math,h”main(){inta,b,c,d;scanf("%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
171”,a,b,d);【程序85]題目:判斷一個素數(shù)能被幾個9整除L程序分析:2.程序源代碼:main()
172{longintm9=9,sum=9;intzi,nl=l,c9=l;scanf&zi);while(nl!=0){if(!(sum%zi))nl=0;else{m9=m9*10;sum=sum+m9;c9++;))printf(,z%ld,canbedividedby%dsum,c9);【程序86]題目:兩個字符串連接程序L程序分析:2.程序源代碼:#include"stdio.h〃main(){chara口=“acegikm”;charb口=“bdfhjlnpq”;charc[80],*p;inti=0,j=0,k=0;while(a[i]!=&jz54;\0&jz54;&&b[j]!=&jz54;\0&jz54;){if(a[i]{c[k]=a[i];i++;)elsec[k]=b[j++];k++;)c[k]=&jz54;\0&jz54;;if(a[i]==&jz54;\0&jz54;)P=b+j;elsep=a+i;strcat(c,p);puts?;【程序87]題目:回答結果(結構體變量傳遞)1.程序分析:2.程序源代碼:ttinclude"stdio.h〃structstudent
173{intx;charc;}a;main()(a.x—3;a.c=&jz54;a&jz54;;f(a):printf("%d,%c”,a.x,a.c);)f(structstudentb)(b.x=20;b.c=&jz54;y&jz54;:[程序88]題目:讀取7個數(shù)(1-50)的整數(shù)值,每讀取一個值,程序打印出該值個數(shù)的*。1.程序分析:2.程序源代碼:mainO{inti,a,n=l;while(n<=7){do{scanf&a);}while(a50);for(i=l;i<=a;i++)printf("*"):printf('
174"):n++;}getchO;}【程序89]題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。1.程序分析:2.程序源代碼:main(){inta,i,aa[4],t;scanf("%d",&a);aa[0]=a%10:
175aa[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—)printfaa[i]);【程序90]題目:專升本一題,讀結果。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*(a+i));作者:zhlei812005-1-2211:33回復此發(fā)言17回復:經(jīng)典C源程序100例
176【程序91]題目:時間函數(shù)舉例1L程序分析:2.程序源代碼:ttinclude"stdio.h〃ttinclude"time,h”voidmain(){time_tIt;/*definealonginttimevarible*/It二time(NULL);/"systemtimeanddate*/printf(ctime(<));/*englishformatoutput*/printf(asctime(localtime(<)));/*tranfertotm*/printf(asctime(gmtime(<)));/*tranfertoGreenwichtime*/)【程序92]題目:時間函數(shù)舉例2L程序分析:2.程序源代碼:^calculatetime*/ttinclude"time,h”ttinclude"stdio.h〃main(){time_tstart,end;inti;start=time(NULL);for(i=0;i<3000;i++){printfr\l\l\l\l\l\l\l\l\l\l
177O;}end=time(NULL);printf('\1:Thedifferentis%6.3f
178z/,difftime(end,start));}【程序93]題目:時間函數(shù)舉例3L程序分析:2.程序源代碼:/*calculatetime*/ttinclude"time.h"ttinclude"stdio.h〃main(){clock_tstart,end;inti;doublevar;start=clock();for(i=0;i<10000;i++){printfr\l\l\l\l\l\l\l\l\l\l
179*);}end=clock();printf(*\1:Thedifferentis%6.3f
180z,,(double)(end-start));【程序94]題目:時間函數(shù)舉例4,一個猜數(shù)游戲,判斷一個人反應快慢。(版主初學時編的)1.程序
181分析:2.程序源代碼:ttinclude"time,h”ttinclude"stdlib.h"#include"stdio.h"main(){charc;clock_tstart,end;time_ta,b;doublevar;inti,guess;srand(time(MULL));printfC'doyouwanttoplayit.(&jz54;y&jz54;or&jz54;n&jz54;)
182");loop:while((c=getchar())==&jz54;y&jz54;)(i=rand()%100;printf(,z
183pleaseinputnumberyouguess:
184");start=clock();a=time(NULL);scanf&guess);while(guess!=i){if(guess>i){printf(,zpleaseinputalittlesmaller.
185z,);scanf&guess);)else{printf(,zpleaseinputalittlebigger.
186,z);scanf(〃%d〃,&guess);))end=clock。;b=time(NULL);printfC\1:Ittookyou%6.3fseconds
187z,,var=(double)(end-start)/18.2);printf('\1:ittookyou%6.3fsecondsXnXn^,difftime(b,a));if(var<15)printf(z,\l\lYouareveryclever!\l\l
188
189");elseif(var<25)printfCA1\1youarenormal!\l\l
190
191〃);elseprintf(zz\l\lyouarestupid!\l\l
192
193,z);printf(,z\l\lCongradulations\l\l
194
195〃);printfC'Thenumberyouguessis%d,z,i);)printf(,z
196doyouwanttotryitagain?(\"yy\".or.\"n\")
197〃);if((c=getch())二二&jz54;y&jz54;)gotoloop;【程序95]
198題目:家庭財務管理小程序1.程序分析:2.程序源代碼:/*moneymanagementsystem*/#include"stdio.h〃ttinclude"dos.h"main()(FILE*fp;structdated;floatsum,chm=0.0;intlen,i,j二0;intc;charch[4]="",chi[16]=,zz\chtime[12]=,zzz,chshop[16],chmoney[8];pp:clrscr();sum=0.0;gotoxyd,1);printf("|1z,).gotoxy(1,2);printf(z,|moneymanagementsystem(Cl.0)2000.03");gotoxy(1,3);printf(z,|1〃);gotoxy(1,4);printf(,z|-moneyrecords—|-todaycostlist—|;作者:zhlei812005-1-2211:33回復此發(fā)言18回復:經(jīng)典C源程序100例gotoxy(1,5);printf("|1〃);gotoxy(1,6)jprintf(/z!date:-gotoxy(l,7)jprintf|||||〃);gotoxy(1,8)jprintf(/z|||;gotoxy(1,9);printf(z/1thgs:|;gotoxy(1,10);printf(^||III");gotoxy(1,11);printfC'||K);gotoxy(1,12);printf(/z|cost:|gotoxy(1,13);printf(,z|||||");
199gotoxy(1,14);printf(,z||「);gotoxy(1,15);printfC"|||;gotoxy(1,16);printf(z/||「');gotoxy(1,17);printfC,|||;gotoxy(1,18);printf(,z||I");gotoxy(1,19);printf|||");gotoxy(1,20);printf(/z,||/z);gotoxy(1,21)jprintfC"|||");gotoxy(1,22);printf(z/1||〃);gotoxy(1,23);printf("「);i=0;getdate(&d);sprintf(chtime,/z%4d.%02d.%02d〃,d.dayear,d.damon,d.daday);for(;;)(gotoxy(3,24);printf(z/Tab_browsecostlistEsc_quit");gotoxy(13,10);printf;gotoxy(13,13);printf(/z/z);gotoxy(13,7);printfCz%s/,,chtime);j=18;ch[0]=getch();if(ch[0]==27)break;strcpy(chshop,,,,z);strcpy(chmoney,;if(chL0]=9)mm:i=0;fp二fopen("home,dat","r+〃);gotoxy(3,24);printf("");gotoxy(6,4);printf(,zlistrecords〃);gotoxy(1,5);printf("|1”);gotoxy(41,4);printfC");gotoxy(41,5);printf(z,|〃);while(fscanf(fp,,z%10s%14s%f
200z,,chtime,chshop,&chm)!=E0F){if(i==36){getch();i=0;}if((i%36)<17){gotoxy(4,6+i);printf("");gotoxy(4,6+i);}elseif((i%36)>16){gotoxy(41,4+i-17);printf(zz");
201gotoxy(42,4+i-17);}i++;sum=sum+chm;printf(,z%10s%-14s%6.lf
202z,,chtime,chshop,chm);}gotoxy(1,23);printf("1〃);gotoxy(1,24);printf("|I");gotoxy(1,25);printf("|1〃);gotoxy(10,24);printf(z,totalis%8.lf$",sum);fclose(fp);gotoxy(49,24);printf(zzpressanykeyto〃);getch();gotopp;)else(while(ch[0]!=&jz54;\r&jz54;){if(j<10){strncat(chtime,ch,1);j++;}if(ch[0]==8)(len=strlen(chtime)-l;if(j>15){len=len+l;j=ll;}strcpy(chi,,,z,);j=j-2;strncat(chi,chtime,len);strcpy(chtime,,z,z);strncat(chtime,chi,len-l);gotoxy(13,7);printf(z,z,);}gotoxy(13,7);printf(,z%s,z,chtime);ch[0]=getch();if(ch[0]==9)gotomm;if(ch[0]==27)exit(1);)gotoxy(3,24);printf("");gotoxy(13,10);j=0;ch[0]=getch();while(ch[0]!=&jz54;\r&jz54;){if(j<14){strncat(chshop,ch,1);j++;}
203if(ch[0]==8){len=strlen(chshop)-1;strcpy(chi,;j=j-2;strncat(chi,chshop,len);strcpy(chshop,;strncat(chshop,chi,len-l);gotoxy(13,10);printf(z,z,);)gotoxy(13,10);printfchshop);ch[0]=getch();}gotoxy(13,13);j=0;ch[0]=getch();while(ch[0]!=&jz54;\r&jz54;){if(j<6){strncat(chmoney,ch,1);j++;}if(ch[0]==8){len=strlen(chmoney)-l;strcpy(chi,;j=j-2;strncat(chi,chmoney,len);strcpy(chmoney,,/,z);strncat(chmoney,chi,len-l);gotoxy(13,13);printf(**);}gotoxy(13,13);printf(zz%szz,chmoney);ch[0]=getch();}if((strlen(chshop)=0)(strlen(chmoney)=0))continue;if((fp=fopenChome,dat*,*a+^))!=NULL);fprintf(fp,/z%10s%14s%6s,z,chtime,chshop,chmoney);fputc(&jz54;
204&jz54;,fp);fclose(fp);i++;gotoxy(41,5+i);printf(z,%10s%-14s%-6s,z,chtime,chshop,chmoney);}})【程序96]題目:計算字符串中子串出現(xiàn)的次數(shù)1.程序分析:2.程序源代碼:#include"string,h”ttinclude"stdio.h〃main(){charstrl[20],str2[20],*pl,*p2;intsum=0;printf("pleaseinputtwostrings'n");scanf("%s%s”,strl,str2);
205pl=strl;p2=str2;while(*pl!=&jz54;\0&jz54;)(if(*pl==*p2){while(*pl==*p2&&*p2!=&jz54;\0&jz54;){pl++;p2++;})elsepl++;if(*p2==&jz54;\0&jz54;)sum++;p2=str2;}printfsum);getchO;}【程序97]題目:從鍵盤輸入一些字符,逐個把它們送到磁盤上去,直到輸入一個#為止。L程序分析:1.程序源代碼:ttinclude"stdio.h〃main(){FILE*fp;charch,filename[10];scanffilename);if((fp=fopen(filename,〃w〃))二二NULL){printf(z,cannotopenfile
206,z);exit(0);}ch=getchar();ch=getchar();while(ch!=&jz54;#&jz54;){fputc(ch,fp);putchar(ch);ch=getchar();)fclose(fp);)【程序98]題目:從鍵盤輸入一個字符串,將小寫字母全部轉換成大寫字母,然后輸出到一個磁盤文件“test”中保存。輸入的字符串以!結束。L程序分析:2.程序源代碼:
207#include"stdio.h〃main(){FILE*fp;charstr[100],filename[10];inti=0;if((fp=fopen("test","w"))==NULL){printf(,zcannotopenthefile
208〃);exit(0);}printf(,zpleaseinputastring:
209z,);gets(str);while(str!=&jz54;!&jz541){if(str>=&jz54;a&jz54;&&str<=&jz54;z&jz54;)str二str-32;fputc(str,fp);i++;}fclose(fp);fp二fopen("test",〃r〃);fgets(str,strlen(str)+l,fp);printf(z,%s
210z/,str);fclose(fp);)回復此發(fā)言作者:zhlei812005-1-2211:3319回復:經(jīng)典C源程序100例【程序99]題目:有兩個磁盤文件A和B,各存放一行字母,要求把這兩個文件中的信息合并(按字母順序排列),輸出到一個新文件C中.1.程序分析:2.程序源代碼:ttinclude"stdio.h"main(){FILE*fp;inti,j,n,ni;charc[160],t,ch;if((fp=fopen("A","r"))==NULL){printf(,zfileAcannotbeopened
211〃);exit(0);}printf(,z
212Acontentsare:
213〃);for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);
214)fclose(fp);ni=i;if((fp=fopen("B","r"))==NULL){printf("fileBcannotbeopened
215〃);exit(0);}printf("
216Bcontentsare:
217〃);for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);}fclose(fp);n=i;for(i=0;ic[j]){t=c[i];c[i]=c[j];c[j]=t;}printf(^XnCfileis:
218〃);fp=fopen(C,w);for(i=0;i219pleaseinputNo.%dscore:
220,z,i);printfCstuNo:");scanfstu[i].num);printf("name:〃);scanfstu[i].name);sum=0;for(j=0;j<3;j++){printf(,zscore%d.”,j+1);scanf&stu[i].score[j]);sum+=stu[i].score[j];)
221stu[i].avr=sum/3.0;)fp二fopen(〃stud”,〃w");for(i=0;i<5;i++)if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)printf(,zfilewriteerror
222,z);fclose(fp);