![華科周純杰版c語(yǔ)言答案_第1頁(yè)](http://file4.renrendoc.com/view/aec588d8f193384228d7c5e0a542db5f/aec588d8f193384228d7c5e0a542db5f1.gif)
![華科周純杰版c語(yǔ)言答案_第2頁(yè)](http://file4.renrendoc.com/view/aec588d8f193384228d7c5e0a542db5f/aec588d8f193384228d7c5e0a542db5f2.gif)
![華科周純杰版c語(yǔ)言答案_第3頁(yè)](http://file4.renrendoc.com/view/aec588d8f193384228d7c5e0a542db5f/aec588d8f193384228d7c5e0a542db5f3.gif)
![華科周純杰版c語(yǔ)言答案_第4頁(yè)](http://file4.renrendoc.com/view/aec588d8f193384228d7c5e0a542db5f/aec588d8f193384228d7c5e0a542db5f4.gif)
![華科周純杰版c語(yǔ)言答案_第5頁(yè)](http://file4.renrendoc.com/view/aec588d8f193384228d7c5e0a542db5f/aec588d8f193384228d7c5e0a542db5f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
華科周純杰版c語(yǔ)言答案華科周純杰版c語(yǔ)言答案華科周純杰版c語(yǔ)言答案華科周純杰版c語(yǔ)言答案編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:第三章程序和流程控制1.輸入兩個(gè)整數(shù),輸出較大者。 #include<> voidmain() { inta,b;intmax=0; printf("Pleaseinputtwonumbers:"); scanf("%d%d",&a,&b); if(a<=b)max=b; elsemax=a; printf("Thelargernumberis%d\n",max); }2.有3個(gè)整數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù)。 #include<> voidmain() { inta,b,c,max; printf("Pleaseinputthreenumbers:"); scanf("%d%d%d",&a,&b,&c); if(a>b) { if(a>c)max=a; elsemax=c; } else { if(b>c)max=b; elsemax=c; } printf("Thelargestnumberis%d\n",temp);}3.從1累加到100,用while語(yǔ)句。 #include<> #defineN100 voidmain() { inti=1,sum=0; while(i<=N) { sum+=i; i++; } printf("sum:%d\n",sum);}4.已知a1=10,a2=-3,an=3an-1+an-2,求{a}的前十項(xiàng)。 #include<> #defineN10 voidmain() { inta[20]={10,-3}; inti=0,m=0; for(i=2;i<N;i++) { a[i]=3*a[i-1]+a[i-2]; } m=N; printf("The%dnumbersare:\n",m); for(i=0;i<N;i++) { printf("a[%d]=%d\n",i+1,a[i]); } }5.輸入一個(gè)自然數(shù),判斷它是奇數(shù)還是偶數(shù)。#include<> voidmain() { inta,temp; printf("Pleaseinputanumbers:\n"); scanf("%d",&a); temp=a%2; if(temp==0) printf("Thenumber%disaneven!\n",a); else printf("Thenumber%disanoddnumber!\n",a); }6.已知a1=8,an=an-1+bn,b1=1,bn=bn-1+3,求{a}前10項(xiàng)之和。#include<> #defineN10 voidmain() { inta[N]={8},b[N]={1},i,sum=0; for(i=1;i<N;i++) { b[i]=b[i-1]+3; } for(i=1;i<N;i++) { a[i]=a[i-1]+b[i]; } for(i=0;i<N;i++) { sum+=a[i]; } printf("Thesumis:%d\n",sum); }7.有一個(gè)函數(shù)寫一程序,輸入x,輸出Y的值。#include<> voidmain() { floatx,y; printf("Pleaseinputafloatnumberx=:"); scanf("%f",&x); printf("x=%f",x); if(x<1) y=x; elseif(x>=10) y=3*x-11; else y=2*x-1; printf("Thevalueofyis:%.3f\n",y); }8.給一個(gè)不多于5位的的正整數(shù),要求:求出它是幾位數(shù),分別打印出每一位數(shù)字,最后按照逆序打印各位數(shù)字,例如原數(shù)為321,應(yīng)輸出為123。#include<> #defineN99999 #defineM5 voidmain() { inti,j,k,m,b[M]; longinta,temp; printf("Pleaseinputanumber:\n"); scanf("%ld",&a); if(a<0||a>N) printf("Errorininputdata!!!\n"); else { temp=a; for(i=0;temp!=0;i++) { temp=temp/10; } m=i; printf("Thenumbera=%ldhave%dsinglenumbers\n",a,m); temp=a; for(j=0;j<m;j++) { b[j]=temp%10; temp=temp/10; } printf("Theorigalnumbersare:\n"); for(k=m-1;k!=-1;k--) { printf("%d",b[k]); } printf("\n"); printf("everyletteris:"); for(j=m-1;j>=0;j--) printf("%d\t",b[j]); printf("\n"); printf("Theinvertednumbersare:\n"); for(j=0;j<m;j++) { printf("%d",b[j]); } printf("\n"); } }9. 編寫一猜數(shù)游戲程序,隨機(jī)產(chǎn)生某個(gè)整數(shù),從鍵盤反復(fù)輸入整數(shù)進(jìn)行猜數(shù),當(dāng)未猜中時(shí),提示輸入過(guò)大或過(guò)小.猜中時(shí),指出猜的次數(shù).最多允許猜20次.#include<> #include<> #include<> #defineN10 voidmain() { inta,b,i; randomize(); a=random(N); printf("Pleaseinputnumberyouguess:\n"); for(i=0;i<20;i++) { scanf("%d",&b); if(b==a) { printf("Congratulation!!\nYourguessednumberisright!\n"); printf("Thetime(s)youhaveguessedis%d",i+1); break; } elseif(b>a) printf("Yournumberistoobig!!\n"); else printf("Yournumberistoosmall!!\n"); } printf("\n"); }10.計(jì)算1-999中能被3整除,且至少有一位數(shù)字是5的所有整數(shù)。#include<> #defineN999 voidmain() { inti,b,c,d; printf("Thenumbersare:\n"); for(i=1;i<=N;i++) { if(i%3) { b=i/100; c=(i-100*b)/10; d=i%10; if(b==5||c==5||d==5) printf("%d\t",i); } }}11.輸入兩個(gè)整數(shù),求它們的最大公約數(shù)和最小公倍數(shù)。 #include"" voidmain() { inta,b,c,d; intcomYueShu; intcomBeishu; printf("pleaseinputtwonumber!"); scanf("%d%d",&a,&b); c=a; d=b; intr; 入一個(gè)整數(shù),求它包含又多少個(gè)2的因子。(例如,8含有3個(gè)2的因子,10含有一個(gè)2的因子,15不含有2的因子。) #include"" voidmain() { inta=0; intintegerGene=0; printf("inputanumber!\n"); scanf("%d",&a); while(a%2==0) { integerGene++; a/=2; } printf("%d\n",integerGene);}13.計(jì)算1!,2!,3!…10! #include<> #defineN10 voidmain() { inti; longinta=1; printf("Theoutcomeare:\n"); for(i=1;i<=10;i++) { a*=i; printf("Theresultof%d!is%ld\n",i,a); } }14.猴子吃桃問(wèn)題:第一天吃掉總數(shù)的一半多一個(gè),第二天又將剩下的桃子吃掉一半多一個(gè),以后每天吃掉前一天剩下的一半多一個(gè),到第十天準(zhǔn)備吃的時(shí)候見(jiàn)只剩下一個(gè)桃子,求第一天開始吃的時(shí)候桃子的總數(shù)。 #include<> #defineN10 voidmain() { inti,x[10]; x[9]=1; for(i=9;i>=1;i--) x[i-1]=2*(x[i]+1); printf("Thetotalnumbersinthefirstdayare:%d\n",x[0]);}15.輸入圓錐體的底半徑r和高h(yuǎn),計(jì)算出圓錐體的體積并輸出 #include<> #definePI voidmain() { floatr,h,v; printf("Pleaseinputtheradiusandtheheight:\n"); scanf("%f%f",&r,&h); v=PI*r*r*h/3; printf("Thevolumeofis%.6f\n",v); }16題 #include"" voidmain() { inta,n; longtmp,SUM=0; do { printf("\nPleaseinputthenumbera="); scanf("%d",&a); }while(!(a>=0&&a<=9)); printf("\nPleaseinputthenumber,it'svalueisnottoobign="); scanf("%d",&n); tmp=a; while(n--) { SUM+=tmp; tmp=tmp*10+a; }printf("\na+aa+aaa+...=%ld(a=%d)\n",SUM,a);}17題 #include"" voidmain() { unsignedcharweek[7][20]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","saturday"};unsignedcharweekday; do { printf("\nPleaseinputtheweeday(0=<thevalueofweekday<=6):"); scanf("%d",&weekday); }while(!(weekday>=0&&weekday<=6)); printf("\n%dcorrespoindto%s\n",weekday,week[weekday]);}18題 #include"" #include"" voidmain() {floatx,y; floatResult; inti=1; printf("\nPleaseinputthevaluex="); scanf("%f",&x);Result=;y=x; do { Result+=y; y=(y*x)/(i+1); i++; }while(y>1e-6); printf("\nThenaturalconstante,it's%fpow=%f",x,Result);}19題 #include"" #include"" voidmain() { floata; floatx1,x2; printf("\nPleaseinputthenumbera="); scanf("%f",&a); x1=x2=a/2; do { x1=x2; x2=(x1+(a/x1))/2; }while(fabs(x2-x1)>1e-5); printf("\nInputanamber%f,It'ssqrt=%f",a,x2);}
第5章課后編程習(xí)題參考答案2.已有一個(gè)已排好序的數(shù)組,現(xiàn)在輸入一個(gè)數(shù),要求按照原來(lái)排序的規(guī)則將它插入數(shù)組中。 #include<> #defineN7 voidmain() { inta[N]={1,5,16,45,87,120}; intn,i,j,temp1,temp2,end; printf("pleaseenteranumber:\n"); scanf("%d",&n); end=a[N-2]; if(n>end) a[N-1]=n; else { for(i=0;i<N-1;i++) { if(n<a[i]) { for(j=N-1;j>i+1;j--) { a[j]=a[j-1]; } a[i]=n; break; } } } printf("putoutthenewarray:\n"); for(i=0;i<N;i++) printf("%4d",a[i]);}3.打印"魔方陣",所謂魔方陣是指這樣的方陣,它的每一行,每一列和對(duì)角線之和均相等。例如,三階魔方陣為:816357492 #include<> voidmain() { inta[16][16]; intn,i,j,k; do { printf("enteranumbern(1~15):\n"); scanf("%d",&n); }while(!((n>0)&&(n<=15)&&(n%2==1))); for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0; j=n/2+1; a[1][j]=1; for(k=2;k<=n*n;k++) { i=i-1; j=j+1; if((i<1)&&(j>n)) { i=i+2; j=j-1; } else { if(i<1)i=n; if(j>n)j=1; } if(a[i][j]==0) a[i][j]=k; else { i=i+2; j=j-1; a[i][j]=k; } } for(i=1;i<=n;i++) { for(j=1;j<=n;j++) printf("%4d",a[i][j]); printf("\n"); } }}4,有一篇文章,共有3行文字,每行有80個(gè)字符,要求分別統(tǒng)計(jì)出其中英文大寫字母,小寫字母,數(shù)字,空格以及其它字符的個(gè)數(shù)。 #include<> #include<> voidmain() { chars[3][80]; inti,j,up,low,num,spa,oth; up=low=num=spa=oth=0; for(i=0;i<3;i++) { printf("enterthe%dline:\n",i+1); gets(s[i]); for(j=0;j<80&&s[i][j]!='\0';j++) if(s[i][j]>='A'&&s[i][j]<='Z') up++; elseif(s[i][j]>='a'&&s[i][j]<='z') low++; elseif(s[i][j]>='0'&&s[i][j]<='9') num++; elseif(s[i][j]=='') spa++; else oth++; } printf("up=%d\n",up); printf("low=%d\n",low); printf("num=%d\n",num); printf("spa=%d\n",spa); printf("oth=%d\n",oth); }5.編寫一個(gè)程序,將兩個(gè)字符串連起來(lái),不要用strcat函數(shù)。 #include<> #include<> voidmain() { chars1[100],s2[100]; gets(s1); gets(s2); inti,j; i=j=0; while(s1[i]!='\0') i++; while(s2[j]!='\0') s1[i++]=s2[j++]; s1[i]='\0'; puts(s1); }6.輸入每個(gè)學(xué)生的平均成績(jī)和姓名,將成績(jī)按照遞減順序排序,姓名做相應(yīng)的調(diào)整。輸出排序后的成績(jī)和姓名。 #include<> #include<> defineN10 /*假定有十個(gè)學(xué)生*/ voidmain() { charname[50][10],name1[10]; intmark[N],i,j,mark1; for(i=0;i<N;i++) { printf("the%dthstudent'snameandmark:\n",i+1); scanf("%s%d",name[i],&mark[i]); } for(i=0;i<N-1;i++) {for(j=i+1;j<N;j++) { if(mark[j]>mark[i]) { mark1=mark[j]; mark[j]=mark[i]; mark[i]=mark1; strcpy(name1,name[j]); strcpy(name[j],name[i]); strcpy(name[i],name1); } } } for(i=0;i<N;i++) { printf("%s,%d\n",name[i],mark[i]); } }7.輸出2維數(shù)組中行為最大列上為最小的元素(稱為鞍點(diǎn))及其位置。如果不存在任何鞍點(diǎn),則也應(yīng)輸出相應(yīng)信息。 #include<> voidmain() { inti,j,k,m,n,max,maxj; inta[10][10]; intflag=0; printf("enterthehangnumbern:\n"); scanf("%d",&n);printf("enterthelienumberm:\n");scanf("%d",&m); for(i=0;i<n;i++) for(j=0;j<m;j++) scanf("%d",&a[i][j]); printf("\n"); for(i=0;i<n;i++) { max=a[i][0]; for(j=0;j<m;j++) if(a[i][j]>max) { max=a[i][j]; maxj=j; } for(k=0;k<n;k++) { if(max>a[k][maxj]) break; } if(k>=n) { printf("\nthe%dhang,the%dlie,thenumber%disandian!\n",i,maxj,max); flag=1; } } if(!flag) printf("noandian!");}8.計(jì)算矩陣A的轉(zhuǎn)置矩陣A,例如:A=,A= #include<> voidmain() { inta[4][3],b[3][4]; inti,j; printf("enterarraya:\n"); for(i=0;i<4;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<4;i++) { for(j=0;j<3;j++) printf("%4d",a[i][j]); printf("\n"); } for(i=0;i<4;i++) for(j=0;j<3;j++) b[j][i]=a[i][j]; for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%4d",b[i][j]); printf("\n"); } }9.輸入一個(gè)八進(jìn)制數(shù)的字符串,將他轉(zhuǎn)換成等價(jià)的十進(jìn)制字符串,用printf的%s格式輸出轉(zhuǎn)換結(jié)果以檢驗(yàn)轉(zhuǎn)換的正確性。例如:輸入字符串"1732",轉(zhuǎn)換成十進(jìn)制數(shù)的字符串為"986"。 #include"" #include"" #include"" #defineMAX20 voidmain() { inti,len,tmp; longintsum=0; charinput[MAX]; charoutput[MAX]={""}; scanf("%s",input); len=strlen(input); for(i=0;i<len;i++) sum=sum*8+(input[i]-48); for(i=0;i<MAX;i++) { output[i]=(char)(sum%10+48); sum/=10; if(sum==0) break; } len=strlen(output); for(i=0;i<len/2;i++) { tmp=output[i]; output[i]=output[len-1]; output[len-1]=tmp; } printf("%s",output);}10.輸入一行字母串,統(tǒng)計(jì)其中各個(gè)字母和空格的分別出現(xiàn)的次數(shù)。 #include<> voidmain() { chars[80]; inti,up,low,spa; up=low=spa=0; gets(s); for(i=0;s[i]!='\0';i++) { if((s[i]>='A')&&(s[i]<='Z')) up++; elseif((s[i]>='a')&&(s[i]<='z')) low++; elseif(s[i]=='')spa++; else; } printf("theup=%d,thelow=%d,thespa=%d",up,low,spa);}
第6章編程題參考答案1編寫程序,實(shí)現(xiàn):利用指向字符數(shù)組的指針變量,統(tǒng)計(jì)兩個(gè)字符數(shù)組中相同的字符個(gè)數(shù). #include<> #include<> voidmain() { chars1[80],s2[80]; char*p1,*p2; intn=0,len1,len2,i,j; p1=s1,p2=s2; gets(s1); gets(s2); len1=strlen(s1); len2=strlen(s2); for(i=0;i<len1&&i<len2;i++) { if(*(p1+i)==*(p2+i)) n++; } printf("%d",n);}2輸入三個(gè)整數(shù),按從小到大的順序輸出,用三種不同方式實(shí)現(xiàn).方法1: #include<> #include<> voidmain() { inta[3],i,j,temp; /*清屏指令*/ clrscr(); printf("\n\nPleaseinput3integers:\n\n"); for(i=0;i<3;i++) scanf("%d",&a[i]); for(i=0;i<2;i++) for(j=i+1;j<3;j++)if(a[j]<a[i]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } printf("\n\nAftersorted,the3inegers:\n\n"); for(i=0;i<3;i++) printf("%d\t",a[i]);}方法2: #include<> #include<> voidmain() { inta[3],i,j,temp; clrscr(); printf("\n\nPleaseinput3integers:\n\n"); for(i=0;i<3;i++) scanf("%d",a+i); for(i=0;i<2;i++) for(j=i+1;j<3;j++)if(*(a+j)<*(a+i)) { temp=*(a+i); *(a+i)=*(a+j); *(a+j)=temp; } printf("\n\nAftersorted,the3inegers:\n\n"); for(i=0;i<3;i++) printf("%d\t",*(a+i));}方法3:#include<>#include<>voidmain(){ voidswap(int*p1,int*p2); inta,b,c; int*pa=&a,*pb=&b,*pc=&c; clrscr(); printf("\n\nPleaseinput3integers:\n\n"); scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); if(b>c) swap(pb,pc); if(a>b) swap(pa,pb); if(b>c)swap(pb,pc); printf("\n\nAftersorted,the3inegers:\n\n"); printf("%d\t%d\t%d\t",a,b,c);}voidswap(int*p1,int*p2){ inttemp; temp=*p1; *p1=*p2; *p2=temp;}3有一字符串,包含n個(gè)字符。使用指針,將此字符串從第m個(gè)字符開始的全部字符復(fù)制成為另一個(gè)字符串。 #include<> #include<> #include<> #defineN120 #defineN220 voidmain() { charstr1[N1],str2[N2]; intm,n,i,j; clrscr(); printf("\n\nPleaseinputastring:\n\n"); gets(str1); n=strlen(str1); do{ printf("\n\nPleaseinputplacem:\n\n"); scanf("%d",&m); }while(n<m); for(i=m-1,j=0;i<n;i++,j++) { *(str2+j)=*(str1+i); } *(str2+j)='\0'; printf("\n\nThenewstring:\n\n"); printf("%s",str2);}4輸入一個(gè)字符串,內(nèi)有數(shù)字和非數(shù)字字符,如:a123x456tab5876將其中連續(xù)的數(shù)字作為一個(gè)整數(shù),依次存放到一數(shù)組a中。例如123放在a[0]中,456放在a[1]中……統(tǒng)計(jì)共有多少個(gè)整數(shù),并輸出這些數(shù)。 #include<> #include<> #include<> #include<> voidmain() { charstr[60],ch; inti,j,bit,dit,n; longinta[20]; clrscr(); printf("\n\nPleaseinputastring:\n\n"); scanf("%s",str); for(i=0,j=0,a[0]=0,bit=1,dit=0;i<strlen(str);i++) { if(isdigit(ch=*(str+i))) { dit=1; a[j]*=bit; a[j]+=(ch-48); bit=10; n=j;} else{ if(dit==1){ j++; a[j]=0;} dit=0; bit=1;}}printf("\n\na[i]:\n\n");for(i=0;i<=n;i++)printf("\n\na[%d]=%ld\n",i,*(a+i));}5利用數(shù)組和指針,將一個(gè)4*4的矩陣轉(zhuǎn)置,并輸出矩陣中的最大值及其位置 #include<> #include<> #defineN4 voidinitpm(float*pm[],floatmt[][N]); voidmain() { voidinputm(floatmt[][N]); voidprintm(floatmt[][N]); voidschmax(floatmt[][N]); voidtranmtx(floatmt[][N]); floatmtx[N][N]; clrscr(); inputm(mtx); printf("\n\n"); printm(mtx); schmax(mtx); tranmtx(mtx); printm(mtx); printf("\n");} voidinputm(floatmt[][N]) { inti,j; float*pm[N]; initpm(pm,mt); printf("\n\nPleaseinputa4*4matrix:\n\n"); for(i=0;i<4;i++)for(j=0;j<4;j++,pm[i]++)scanf("%f",pm[i]);}voidprintm(floatmt[][N]){inti,j;float*pm[N];initpm(pm,mt);for(i=0;i<N;i++){for(j=0;j<N;j++,pm[i]++)printf("%\t",*pm[i]);printf("\n");}}voidschmax(floatmt[][N]){inti,j,line,colum;float*pm[N],max;initpm(pm,mt);max=mt[0][0];line=0;colum=0;for(i=0;i<N;i++)for(j=0;j<N;j++){if(max<*(pm[i]+j)) { max=*(pm[i]+j); line=i; colum=j; }}printf("\n\nThemaxdigitalinthematrix:%\n\n",max);printf("Thelineofthemaxdigital:%d\n\n",line+1);printf("Thecolumofthemaxdigital:%d\n\n",colum+1);}voidtranmtx(floatmt[][N]){inti,j;float*pm[N];initpm(pm,mt);for(i=0;i<N;i++)for(j=i+1;j<N;j++){floattemp;temp=*(pm[i]+j);*(pm[i]+j)=*(pm[j]+i);*(pm[j]+i)=temp;}}voidinitpm(float*pm[],floatmt[][N]){inti;for(i=0;i<N;i++)pm[i]=mt[i];}6利用指向指針的指針?lè)椒▽?duì)6個(gè)字符串排序并輸出. #include<> #include<> #include<> #defineN6 voidmain() { charstr[N][20]; char*pstr[N]; inti,j; for(i=0;i<N;i++) pstr[i]=str[i]; char**pp; pp=pstr; clrscr(); printf("\n\nPleaseinput%dstrings:\n\n",N); for(i=0;i<N;i++) { gets(pstr[i]); } for(i=0;i<N-1;i++)for(j=i+1;j<N;j++){if(strcmp(*(pp+i),*(pp+j))>0){ char*temp=*(pp+i); *(pp+i)=*(pp+j); *(pp+j)=temp; }} printf("\n\nAftersorted,the%dstrings:\n\n",N); for(i=0;i<N;i++) printf("%s\n",*pp++);}7寫一程序,求任意一輸入字符串的長(zhǎng)度,將此輸入的字符串按逆序的方式存入所在位置中,顯示輸入字符串和其逆字符串. #include<> #include<> voidmain() { charstr[80],*pstr=str,ch; intn=0,i; clrscr(); printf("Pleaseinputastring:\n\n"); gets(str); printf("\n\nTheinputingstring:\n\n"); printf("%s",str); while(*pstr!='\0') { pstr++; n++; } printf("\n\nThelengthofthestring:%d",n); for(i=0;i<(n/2);i++) { ch=*(str+i); *(str+i)=*(str+n-1-i); *(str+n-1-i)=ch; } printf("\n\nAfterchanged,thestring:\n\n"); printf("%s\n\n",str);}8編寫一個(gè)程序,先讀入一段正文,然后刪除其中的單詞from、in、at、an和on,最后顯示該結(jié)果文本段. #include<> #include<> #include<> voiddelWords(int*pi,int*pN,char*pt[]); voidmain() { chartext[100][20],*ptext[100]; inti,N,*pN=&N,*pi=&i; for(i=0;i<100;i++) { ptext[i]=text[i]; } clrscr(); printf("Attention:Afteryouinputtheendoftext,pleaseinputword\"EOF\"!\n\n"); printf("Pleaseinputatext(words<=100),EOFend:\n\n"); for(i=0;strcmp(ptext[N],"EOF");i++) { scanf("%s",ptext[i]); N=i; } for(i=0;i<=(N-1);i++) { if(strcmp(ptext[i],"from")==0) delWords(pi,pN,ptext); elseif(strcmp(ptext[i],"in")==0) delWords(pi,pN,ptext);elseif(strcmp(ptext[i],"at")==0) delWords(pi,pN,ptext); elseif(strcmp(ptext[i],"an")==0) delWords(pi,pN,ptext); elseif(strcmp(ptext[i],"on")==0) delWords(pi,pN,ptext); } printf("\nAfterdeletingthewords:from,inat,an,on,thetext:\n\n"); for(i=0;i<=(N-1);i++) { printf("%s",ptext[i]); } printf("\n\n"); }voiddelWords(int*pi,int*pN,char*pt[]){ inti,j,N; i=*pi; N=*pN; if(i==N){ N--; *pN=N; } else { for(j=0;j<=(N-2-i);j++) { *(pt+i+j)=*(pt+i+j+1); } N--; *pN=N; i--; *pi=i;}}
第七章課后習(xí)題參考答案:編程題1.輸入兩個(gè)整數(shù),調(diào)用函數(shù)squSum()求兩數(shù)平方和,返回主函數(shù)顯示結(jié)果。 #include"" intsquSum(inta,intb); voidmain() { inta,b; intsm; printf("pleaseinputtwonumber!"); scanf("%d%d",&a,&b); m=squSum(a,b); printf("%d*%d+%d*%d=%d",a,a,b,b,sm); } intsquSum(inta,intb) 寫兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),并輸出結(jié)果。兩個(gè)整數(shù)由鍵盤輸入。 #include"" intfunCommonDivisor(inta,intb); intfunCommonMultiple(inta,intb); voidmain() { inta,b; intcommonDivisor; intcommonMultiple; printf("pleaseinputtwonumber!"); scanf("%d%d",&a,&b); commonDivisor=fun1(a,b); commonMultiple=fun2(a,b); printf("%d,%d",commonDivisor,commonMultiple); } intfunCommonDivisor(inta,intb) { intr; 求方程ax2+bx+c=0的根,用三個(gè)函數(shù)分別求不相等實(shí)根、相等實(shí)根、共軛復(fù)根,并在函數(shù)中輸出結(jié)果,a、b、c從主函數(shù)輸入。 #include"" #include"" voidtwoRealRoot(floata,floatb,floatc); voidequaRoot(floata,floatb,floatc); voidtwoImRoot(floata,floatb,floatc); voidmain() { floata,b,c; printf("pleaseinputa,b,c!"); scanf("%f%f%f",&a,&b,&c); if(b*b==4*a*c)equaRoot(a,b,c); elseif(b*b>4*a*c)twoRealRoot(a,b,c); elsetwoImRoot(a,b,c); } voidtwoRealRoot(floata,floatb,floatc) { floatroot1,root2; floatd; d=b*b-4*a*c; d=(float)sqrt(d); root1=(-b-d)/(2*a); root2=(-b+d)/(2*a); printf("%f,%f",root1,root2); printf("/n"); } voidequaRoot(floata,floatb,floatc) { printf("%f",-b/; printf("/n"); } voidtwoImRoot(floata,floatb,floatc) { floatreal,im; floatd; d=4*a*c-b*b; d=(float)sqrt(d); real=-b/(2*a); im=d/(2*a); printf("%f+%fi",real,im); printf("%f-%fi",real,im); printf("/n");}4.編寫一個(gè)函數(shù),刪除給定字符串中的指定字符,如給定字符串“abcdfrc”,刪除指定字符‘c’后,字符串變?yōu)椤癮bdfr”;主函數(shù)完成給定字符串和指定字符的輸入,調(diào)用所編函數(shù),輸出處理后的字符串。 #include"" #include"" voiddeleteChar(char*pChar,chardelChar); voidmain() { charstring[]="abcdfr"; chardelChar='c'; printf("pleaseinputdeletechar!\n"); scanf("%c",&delChar); printf("%s\n",string); printf("delete%cinstring.\n",delChar); deleteChar(string,delChar); printf("%s\n",string); } voiddeleteChar(char*pChar,chardelChar) { inti=0; charc; intlength,pos; length=strlen(pChar); while(*(pChar+i)!='\0') 輸入n個(gè)整數(shù)(n<10),排序后輸出。排序的原則由函數(shù)的一個(gè)參數(shù)決定,參數(shù)值為1,按遞減順序排序,否則按遞增順序排序。 #include"" #defineN6 voidsort(int*b,intorder); voidmain() { inta[N]; inti,order; for(i=0;i<N;i++) { printf("enter%dnumber!\n",i+1); scanf("%d",&a[i]); } printf("enterorder,ifenter1,fromlargetosmall!\n"); scanf("%d",&order); sort(a,order); for(i=0;i<N;i++) { printf("%d",a[i]); }} voidsort(int*b,intorder) { inti,j; intitem; 對(duì)輸入的正文按字典順序取最大或最小的行輸出,輸出的結(jié)果由函數(shù)的一個(gè)參數(shù)來(lái)決定,為1,則最大行輸出,否則為最小行輸出。 #include<> #include<> #include<> #defineMAXLINES10 n"); scanf("%d",&flag); char*linepstr[MAXLINES];寫幾個(gè)函數(shù):⑴輸入10個(gè)職工姓名和工資;⑵按職工姓名由小到大排序;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- pocib出口合同范本
- 北京保密合同范例
- 產(chǎn)品代售代理合同范例
- 代銷權(quán)合同范本
- 買賣合同補(bǔ)充協(xié)議合同范本
- 2025年度住宅小區(qū)綠化與建筑裝飾一體化合同
- 2025年度高新技術(shù)居間服務(wù)費(fèi)合同范本正規(guī)范本
- 2025年度建筑工程安全生產(chǎn)環(huán)保措施實(shí)施合同
- 2025年蕓香行業(yè)深度研究分析報(bào)告
- 2025年中國(guó)草魚行業(yè)市場(chǎng)供需規(guī)模及發(fā)展戰(zhàn)略咨詢報(bào)告
- 期末試卷(試題)-2024-2025學(xué)年三年級(jí)上冊(cè)數(shù)學(xué)冀教版
- “小學(xué)英語(yǔ)對(duì)話教學(xué)”研究課題方案
- 城市地下管網(wǎng)建設(shè)工程投標(biāo)書(范文)
- 聯(lián)合體三方協(xié)議合同模板
- 五上數(shù)學(xué)簡(jiǎn)便運(yùn)算500道及答案
- 山東省臨沂市2024年中考物理真題
- 2024新蘇教版一年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)教材分析
- Altium-Designer-電路設(shè)計(jì)與制作教案
- 供應(yīng)商評(píng)估與篩選管理制度
- YBT 6227.1-2024《鋼鐵工業(yè)自動(dòng)化儀表與控制裝置安裝規(guī)范 第1部分:總則》
- 2024赤峰學(xué)院教師招聘考試筆試試題
評(píng)論
0/150
提交評(píng)論