




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言課后習題答案-第四版-譚浩強(1-7)第一章#include<>intmain(){printf("**************************\n\n");printf("VeryGood!\n\n");printf("**************************\n");return0;}#include<>intmain(){inta,b,c,max;printf("pleaseinputa,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("Thelargestnumberis%d\n",max);return0;}第3章#include<>#include<>intmain(){floatp,r,n;r=;n=10;p=pow(1+r,n);printf("p=%f\n",p);return0;}#include<>#include<>intmain(){floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=;r3=;r2=;r1=;r0=;p1=p*((1+r5)*5);return0;}#include<>intmain()
.=%d\n",sn);{doubles=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%\n",s);return0;}#include<>intmain(){intn1=100,n2=50,n3=10;doublek,s1=0,s2=0,s3=0;for(k=1;k<=n1;k++)/*計算1到100的和*/{s1=s1+k;}for(k=1;k<=n2;k++)/*計算1到50各數(shù)的平方和*/{s2=s2+k*k;}for(k=1;k<=n3;k++)/*計算1到10的各倒數(shù)和*/{s3=s3+1/k;}printf("sum=%\n",s1+s2+s3);return0;}#include<>intmain(){inti,j,k,n;printf("parcissusnumbersare");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d",n);}printf("\n");return0;}#defineM1000/*定義搜尋范圍*/#include<>intmain(){intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;inti,a,n,s;for(a=2;a<=M;a++){n=0;s=a;for(i=1;i<a;i++)if(a%i==0){n++;s=s-i;之和*/switch(n){case1:k1=i;break;case2:k2=i;break;case3:k3=i;break;case4:k4=i;break;case5:k5=i;break;case6:k6=i;break;case7:k7=i;break;case8:k8=i;break;case9:k9=i;break;case10:k10=i;break;
/*
/*a是2-1000之間的整數(shù),檢查它可否完數(shù)*//*n用來累計a的因子的個數(shù)*//*s用來存放還沒有求出的因子之和,開始時等于a*/檢查i可否a的因子*//*若是i是a的因子*//*n加1,表示新找到一個因子*//*s減去已找到的因子,s的新值是還沒有求出的因子/*將找到的因子賦給k1...k9,或k10*//*找出的笫1個因子賦給k1*//*找出的笫2個因子賦給k2*//*找出的笫3個因子賦給k3*//*找出的笫4個因子賦給k4*//*找出的笫5個因子賦給k5*//*找出的笫6個因子賦給k6*//*找出的笫7個因子賦給k7*//*找出的笫8個因子賦給k8*//*找出的笫9個因子賦給k9*//*找出的笫10個因子賦給k10*/}}if(s==0){printf("%d,Itsfactorsare",a);if(n>1)printf("%d,%d",k1,k2);/*n>1表示a最少有2個因子*/if(n>2)printf(",%d",k3);/*n>2表示最少有3個因子,故應再輸出一個因子*/if(n>3)printf(",%d",k4);/*n>3表示最少有4個因子,故應再輸出一個因子*/if(n>4)printf(",%d",k5);/*以下近似*/if(n>5)printf(",%d",k6);if(n>6)printf(",%d",k7);if(n>7)printf(",%d",k8);if(n>8)printf(",%d",k9);if(n>9)printf(",%d",k10);printf("\n");}}return0;}#include<>intmain(){intm,s,i;for(m=2;m<1000;m++){s=0;for(i=1;i<m;i++)if((m%i)==0)s=s+i;if(s==m){printf("%d,itsfactorsare",m);for(i=1;i<m;i++)if(m%i==0)printf("%d",i);printf("\n");}}return0;}#include<>intmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%\n",s);return0;}#include<>intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;
/*第/*第
n次落地時共經過的米數(shù)n次反跳高度*/
*/}printf("第10次落地時共經過%f米\n",sn);printf("第10次反彈%f米\n",hn);return0;}#include<>intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;
/*第1天的桃子數(shù)是第
2天桃子數(shù)加
1后的
2倍.*/x2=x1;day--;}printf("total=%d\n",x1);return0;}#include<>#include<>intmain(){floata,x0,x1;printf("enterapositivenumber:");scanf("%f",&a);x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)>=1e-5);printf("Thesquarerootof%is%\n",a,x1);return0;}#include<>#include<>intmain(){doublex1,x0,f,f1;x1=;do{x0=x1;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;}while(fabs(x1-x0)>=1e-5);printf("Therootofequationis%\n",x1);return0;}#include<>#include<>intmain(){floatx0,x1,x2,fx0,fx1,fx2;do{printf("enterx1&x2:");scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx2>0);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;if((fx0*fx1)<0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}while(fabs(fx0)>=1e-5);printf("x=%\n",x0);return0;}#include<>intmain(){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("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf("");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}return0;}#include<>intmain(){chari,j,k;
/*是
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("A--%c\nB--%c\nC--%c\n",i,j,k);return0;}第六章#include<>#include<>intmain(){inti,j,n,a[101];for(i=1;i<=100;i++)a[i]=i;a[1]=0;for(i=2;i<sqrt(100);i++)for(j=i+1;j<=100;j++){if(a[i]!=0&&a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}printf("\n");for(i=2,n=0;i<=100;i++){if(a[i]!=0){printf("%5d",a[i]);n++;}if(n==10){printf("\n");n=0;}}printf("\n");return0;}#include<>intmain(){inti,j,min,temp,a[11];printf("enterdata:\n");for(i=1;i<=10;i++){printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");printf("Theorginalnumbers:\n");for(i=1;i<=10;i++)printf("%5d",a[i]);printf("\n");for(i=1;i<=9;i++){min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}printf("\nThesortednumbers:\n");for(i=1;i<=10;i++)printf("%5d",a[i]);printf("\n");return0;}#include<>intmain(){inta[3][3],sum=0;inti,j;printf("enterdata:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%3d",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("sum=%6d\n",sum);return0;}#include<>intmain(){inta[11]={1,4,6,9,13,16,19,28,40,100};inttemp1,temp2,number,end,i,j;printf("arraya:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");printf("insertdata:");scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++){if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}printf("Nowarraya:\n");for(i=0;i<11;i++)printf("%5d",a[i]);printf("\n");return0;}#include<>#defineN5intmain(){inta[N],i,temp;printf("enterarraya:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);printf("arraya:\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N/2;i++)printf("continuornot(Y/N)?");scanf("%c",&c);if(c=='N'||c=='n')flag=0;
n",number);;}return0;}#include<>intmain(){inti,j,upp,low,dig,spa,oth;chartext[3][80];upp=low=dig=spa=oth=0;for(i=0;i<3;i++){printf("pleaseinputline%d:\n",i+1);gets(text[i]);for(j=0;j<80&&text[i][j]!='\0';j++){if(text[i][j]>='A'&&text[i][j]<='Z')upp++;elseif(text[i][j]>='a'&&text[i][j]<='z')low++;elseif(text[i][j]>='0'&&text[i][j]<='9')dig++;elseif(text[i][j]=='')spa++;elseoth++;}}printf("\nuppercase:%d\n",upp);printf("lowercase:%d\n",low);printf("digit:%d\n",dig);printf("space:%d\n",spa);printf("other:%d\n",oth);return0;}#include<>intmain(){chara[5]={'*','*','*','*','*'};inti,j,k;charspace='';for(i=0;i<5;i++){printf("\n");printf("");for(j=1;j<=i;j++)printf("%c",space);for(k=0;k<5;k++)printf("%c",a[k]);}printf("\n");return0;}#include<>intmain(){intj,n;charch[80],tran[80];printf("inputciphercode:");gets(ch);printf("\nciphercode:%s",ch);j=0;while(ch[j]!='\0'){if((ch[j]>='A')&&(ch[j]<='Z'))tran[j]=155-ch[j];elseif((ch[j]>='a')&&(ch[j]<='z'))tran[j]=219-ch[j];elsetran[j]=ch[j];j++;}n=j;printf("\noriginaltext:");for(j=0;j<n;j++)putchar(tran[j]);printf("\n");return0;}#include<>intmain(){intj,n;charch[80];printf("inputciphercode:\n");gets(ch);printf("\nciphercode:%s\n",ch);j=0;while(ch[j]!='\0'){if((ch[j]>='A')&&(ch[j]<='Z'))ch[j]=155-ch[j];elseif((ch[j]>='a')&&(ch[j]<='z'))ch[j]=219-ch[j];elsech[j]=ch[j];j++;}n=j;printf("originaltext:");for(j=0;j<n;j++)putchar(ch[j]);printf("\n");return0;}#include<>intmain(){chars1[80],s2[40];inti=0,j=0;printf("inputstring1:");scanf("%s",s1);printf("inputstring2:");scanf("%s",s2);while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]='\0';printf("\nThenewstringis:%s\n",s1);return0;}#include<>intmain(){inti,resu;chars1[100],s2[100];printf("inputstring1:");gets(s1);printf("\ninputstring2:");gets(s2);i=0;while((s1[i]==s2[i])&&(s1[i]!='\0'))i++;if(s1[i]=='\0'&&s2[i]=='\0')resu=0;elseresu=s1[i]-s2[i];printf("\nresult:%d.\n",resu);return0;}#include<>#include<>intmain(){chars1[80],s2[80];inti;printf("inputs2:");scanf("%s",s2);for(i=0;i<=strlen(s2);i++)s1[i]=s2[i];printf("s1:%s\n",s1);return0;}第七章#include<>intmain(){inthcf(int,int);intlcd(int,int,int);intu,v,h,l;scanf("%d,%d",&u,&v);h=hcf(u,v);printf("",h);l=lcd(u,v,h);printf("",l);return0;}inthcf(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}intlcd(intu,intv,inth){return(u*v/h);}#include<>intHcf,Lcd;intmain(){voidhcf(int,int);voidlcd(int,int);intu,v;scanf("%d,%d",&u,&v);hcf(u,v);lcd(u,v);printf("",Hcf);printf("",Lcd);return0;}voidhcf(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}Hcf=v;}voidlcd(intu,intv){Lcd=u*v/Hcf;}#include<>#include<>floatx1,x2,disc,p,q;intmain(){voidgreater_than_zero(float,float);voidequal_to_zero(float,float);voidsmaller_than_zero(float,float);floata,b,c;printf("inputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);printf("equation:%*x*x+%*x+%=0\n",a,b,c);disc=b*b-4*a*c;printf("root:\n");if(disc>0){greater_than_zero(a,b);printf("x1=%f\t\tx2=%f\n",x1,x2);}elseif(disc==0){equal_to_zero(a,b);printf("x1=%f\t\tx2=%f\n",x1,x2);}else{smaller_than_zero(a,b);printf("x1=%f+%fi\tx2=%f-%fi\n",p,q,p,q);}return0;}voidgreater_than_zero(floata,floatb){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);}voidequal_to_zero(floata,floatb){x1=x2=(-b)/(2*a);}voidsmaller_than_zero(floata,floatb){p=-b/(2*a);q=sqrt(-disc)/(2*a);}#include<>intmain(){intprime(int);intn;printf("inputaninteger:");scanf("%d",&n);if(prime(n))printf("%disaprime.\n",n);elseprintf("%disnotaprime.\n",n);return0;}intprime(intn){intflag=1,i;for(i=2;i<n/2&&flag==1;i++)if(n%i==0)flag=0;return(flag);}#include<>#defineN3intarray[N][N];intmain(){voidconvert(intarray[][3]);inti,j;printf("inputarray:\n");for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&array[i][j]);printf("\noriginalarray:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",array[i][j]);printf("\n");}convert(array);printf("convertarray:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",array[i][j]);printf("\n");}return0;}voidconvert(intarray[][3]){inti,j,t;for(i=0;i<N;i++)for(j=i+1;j<N;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}#include<>#include<>intmain(){voidinverse(charstr[]);charstr[100];printf("inputstring:");scanf("%s",str);inverse(str);printf("inversestring:%s\n",str);return0;}voidinverse(charstr[]){chart;inti,j;for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--){t=str[i];str[i]=str[j-1];str[j-1]=t;}}#include<>intmain(){voidconcatenate(charstring1[],charstring2[],charstring[]);chars1[100],s2[100],s[100];printf("inputstring1:");scanf("%s",s1);printf("inputstring2:");scanf("%s",s2);concatenate(s1,s2,s);printf("\nThenewstringis%s\n",s);return0;}voidconcatenate(charstring1[],charstring2[],charstring[]){inti,j;for(i=0;string1[i]!='\0';i++)string[i]=string1[i];for(j=0;string2[j]!='\0';j++)string[i+j]=string2[j];string[i+j]='\0';}#include<>intmain(){voidcpy(char[],char[]);charstr[80],c[80];printf("inputstring:");gets(str);cpy(str,c);printf("Thevowellettersare:%s\n",c);return0;}voidcpy(chars[],charc[]){inti,j;for(i=0,j=0;s[i]!='\0';i++)if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'||s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U'){c[j]=s[i];j++;}c[j]='\0';}#include<>#include<>intmain(){charstr[80];voidinsert(char[]);printf("inputfourdigits:");scanf("%s",str);insert(str);return0;}voidinsert(charstr[]){inti;for(i=strlen(str);i>0;i--){str[2*i]=str[i];str[2*i-1]='';}printf("output:\n%s\n",str);}#include<>intletter,digit,space,others;intmain(){voidcount(char[]);chartext[80];printf("inputstring:\n");gets(text);printf("string:");puts(text);letter=0;digit=0;space=0;others=0;count(text);printf("\nletter:%d\ndigit:%d\nspace:%d\nothers:%d\n",letter,digit,space,others);return0;}voidcount(charstr[]){inti;for(i=0;str[i]!='\0';i++)if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))letter++;elseif(str[i]>='0'&&str[i]<='9')digit++;elseif(str[i]==32)space++;elseothers++;}#include<>#include<>intmain(){intalphabetic(char);intlongest(char[]);inti;charline[100];printf("inputoneline:\n");gets(line);printf("Thelongestwordis:");for(i=longest(line);alphabetic(line[i]);i++)printf("%c",line[i]);printf("\n");return0;}intalphabetic(charc){if((c>='a'&&c<='z')||(c>='A'&&c<='z'))return(1);elsereturn(0);}intlongest(charstring[]){intlen=0,i,length=0,flag=1,place=0,point;for(i=0;i<=strlen(string);i++)if(alphabetic(string[i]))if(flag){point=i;flag=0;}elselen++;else{flag=1;if(len>=length){length=len;place=point;len=0;}}return(place);}#include<>#include<>#defineN10charstr[N];intmain(){voidsort(char[]);inti,flag;for(flag=1;flag==1;){printf("inputstring:\n");scanf("%s",&str);if(strlen(str)>N)printf("stringtoolong,inputagain!");elseflag=0;}sort(str);printf("stringsorted:\n");for(i=0;i<N;i++)printf("%c",str[i]);printf("\n");return0;}voidsort(charstr[]){inti,j;chart;for(j=1;j<N;j++)for(i=0;(i<N-j)&&(str[i]!='\0');i++)if(str[i]>str[i+1]){t=str[i];str[i]=str[i+1];str[i+1]=t;}}#include<>#include<>intmain(){floatsolut(floata,floatb,floatc,floatd);floata,b,c,d;printf("inputa,b,c,d:");scanf("%f,%f,%f,%f",&a,&b,&c,&d);printf("x=%\n",solut(a,b,c,d));return0;}floatsolut(floata,floatb,floatc,floatd){floatx=1,x0,f,f1;do{x0=x;f=((a*x0+b)*x0+c)*x0+d;f1=(3*a*x0+2*b)*x0+c;x=x0-f/f1;}while(fabs(x-x0)>=1e-3);return(x);}#include<>#defineN10#defineM5floatscore[N][M];floata_stu[N],a_cour[M];intr,c;intmain(){inti,j;floath;floats_var(void);floathighest();voidinput_stu(void);voidaver_stu(void);voidaver_cour(void);input_stu();aver_stu();aver_cour();printf("\nNO.cour1cour2cour3cour4cour5aver\n");for(i=0;i<N;i++){printf("\nNO%2d",i+1);for(j=0;j<M;j++)printf("%",score[i][j]);printf("%\n",a_stu[i]);}printf("\naverage:");for(j=0;j<M;j++)printf("%",a_cour[j]);printf("\n");h=highest();printf("highest:%NO.%2dcourse%2d\n",h,r,c);printf("variance%\n",s_var());return0;}voidinput_stu(void){inti,j;for(i=0;i<N;i++){printf("\ninputscoreofstudent%2d:\n",i+1);for(j=0;j<M;j++)scanf("%f",&score[i][j]);}}voidaver_stu(void){inti,j;floats;for(i=0;i<N;i++){for(j=0,s=0;j<M;j++)s+=score[i][j];a_stu[i]=s/;}}voidaver_cour(void){inti,j;floats;for(j=0;j<M;j++){s=0;for(i=0;i<N;i++)s+=score[i][j];a_cour[j]=s/(float)N;}}floathighest(){floathigh;inti,j;high=score[0][0];for(i=0;i<N;i++)for(j=0;j<M;j++)if(score[i][j]>high){high=score[i][j];r=i+1;c=j+1;}return(high);}floats_var(void){inti;floatsumx,sumxn;sumx=;sumxn=;for(i=0;i<N;i++){sumx+=a_stu[i]*a_stu[i];sumxn+=a_stu[i];}return(sumx/N-(sumxn/N)*(sumxn/N));}#include<>#defineN10#defineM5floatscore[N][M];floata_stu[N],a_cour[M];intr,c;intmain(){inti,j;floath;floats_var(void);floathighest();voidinput_stu(void);voidaver_stu(void);voidaver_cour(void);input_stu();aver_stu();aver_cour();printf("\nNO.cour1cour2cour3cour4cour5aver\n");for(i=0;i<N;i++){printf("\nNO%2d",i+1);for(j=0;j<M;j++)printf("%",score[i][j]);printf("%\n",a_stu[i]);}printf("\naverage:");for(j=0;j<M;j++)printf("%",a_cour[j]);printf("\n");h=highest();printf("highest:%NO.%2dcourse%2d\n",h,r,c);printf("variance%\n",s_var());return0;}voidinput_stu(void){inti,j;for(i=0;i<N;i++){printf("\ninputscoreofstudent%2d:\n",i+1);for(j=0;j<M;j++)scanf("%f",&score[i][j]);}}voidaver_stu(void){inti,j;floats;for(i=0;i<N;i++){for(j=0,s=0;j<M;j++)s+=score[i][j];a_stu[i]=s/;}}voidaver_cour(void){inti,j;floats;for(j=0;j<M;j++){s=0;for(i=0;i<N;i++)s+=score[i][j];a_cour[j]=s/(float)N;}}floathighest(){floathigh;inti,j;high=score[0][0];for(i=0;i<N;i++)for(j=0;j<M;j++)if(score[i][j]>high){high=score[i][j];r=i+1;c=j+1;}return(high);}floats_var(void){inti;floatsumx,sumxn;sumx=;sumxn=;for(i=0;i<N;i++){sumx+=a_stu[i]*a_stu[i];sumxn+=a_stu[i];}return(sumx/N-(sumxn/N)*(sumxn/N));}#include<>#include<>#defineN10intmain(){voidinput(int[],charname[][8]);voidsort(int[],charname[][8]);voidsearch(int,int[],charname[][8]);intnum[N],number,flag=1,c;charname[N][8];input(num,name);sort(num,name);while(flag==1){printf("\ninputnumbertolookfor:");scanf("%d",&number);search(number,num,name);printf("continueotnot(Y/N)?");getchar();c=getchar();if(c=='N'||c=='n')flag=0;}return0;}voidinput(intnum[],charname[N][8]){inti;for(i=0;i<N;i++){printf("inputNO.:");scanf("%d",&num[i]);printf("inputname:");getchar();gets(name[i]);}}voidsort(intnum[],charname[N][8]){inti,j,min,templ;chartemp2[8];for(i=0;i<N-1;i++){min=i;for(j=i;j<N;j++)if(num[min]>num[j])min=j;templ=num[i];strcpy(temp2,name[i]);num[i]=num[min];strcpy(name[i],name[min]);num[min]=templ;strcpy(name[min],temp2);}printf("\nresult:\n");for(i=0;i<N;i++)printf("\n%5d%10s",num[i],name[i]);}voidsearch(intn,intnum[],charname[N][8]){inttop,bott,mid,loca,sign;top=0;bott=N-1;loca=0;sign=1;if((n<num[0])||(n>num[N-1]))loca=-1;while((sign==1)&&(top<=bott)){mid=(bott+top)/2;if(n==num[mid]){loca=mid;printf("NO.%d,hisnameis%s.\n",n,name[loca]);sign=-1;}elseif(n<num[mid])bott=mid-1;elsetop=mid+1;}if(sign==1||loca==-1)printf("%dnotbeenfound.\n",n);}#include<>#defineMAX1000intmain(){inthtoi(chars[]);intc,i,flag,flag1;chart[MAX];i=0;flag=0;flag1=1;printf("inputaHEXnumber:");while((c=getchar())!='\0'&&i<MAX&&flag1){if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F'){flag=1;t[i++]=c;}elseif(flag){t[i]='\0';printf("decimalnumber%d\n",htoi(t));printf("continueornot?");c=getchar();if(c=='N'||c=='n')flag1=0;else{flag=0;i=0;printf("\ninputaHEXnumber:");}}}return0;}inthtoi(chars[]){inti,n;n=0;for(i=0;s[i]!='\0';i++){if(s[i]>='0'&&s[i]<='9')n=n*16+s[i]-'0';if(s[i]>='a'&&s[i]<='f')n=n*16+s[i]-'a'+10;if(s[i]>='A'&&s[i]<='F')n=n*16+s[i]-'A'+10;}return(n);}#include<>intmain(){voidconvert(intn);intnumber;printf("inputaninteger:");scanf("%d",&number);printf("output:");if(number<0){putchar('-');putchar('');/*先輸出一個‘-’號和空格*/number=-number;}convert(number);printf("\n");return0;}voidconvert(intn){inti;if((i=n/10)!=0)convert(i);putchar(n%10+'0');putchar(32);}#include<>intmain(){intsum_day(intmonth,intday);intleap(intyear);intyear,month,day,days;printf("inputdate(year,month,day):");scanf("%d,%d,%d",&year,&month,&day);printf("%d/%d/%d",year,month,day);days=sum_day(month,day);/*調用函數(shù)sum_day*/if(leap(year)&&month>=3)/*調用函數(shù)leap*/days=days+1;printf("isthe%dthdayinthisyear.\n",days);return0;}intsum_day(intmonth,intday)/*函數(shù)sum_day:計算日期*/{intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inti;for(i=1;i<month;i++)day+=day_tab[i];/*累加所在月從前天數(shù)*/return(day);}/*函數(shù)leap:判斷可否為閏年*/intleap(intyear){intleap;leap=year%4==0&&year%100!=0||year%400==0;return(leap);}C語言課后習題答案-第四版-譚浩強(8-12)第八章#include<>intmain(){voidswap(int*p1,int*p2);intn1,n2,n3;int*p1,*p2,*p3;printf("inputthreeintegern1,n2,n3:");scanf("%d,%d,%d",&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf("Now,theorderis:%d,%d,%d\n",n1,n2,n3);return0;}voidswap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}#include<>#include<>intmain(){voidswap(char*,char*);charstr1[20],str2[20],str3[20];printf("inputthreeline:\n");gets(str1);gets(str2);gets(str3);if(strcmp(str1,str2)>0)swap(str1,str2);if(strcmp(str1,str3)>0)swap(str1,str3);if(strcmp(str2,str3)>0)swap(str2,str3);printf("Now,theorderis:\n");printf("%s\n%s\n%s\n",str1,str2,str3);return0;}voidswap(char*p1,char*p2){charp[20];strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}#include<>intmain(){voidinput(int*);voidmax_min_value(int*);voidoutput(int*);intnumber[10];input(number);max_min_value(number);output(number);return0;}voidinput(int*number){inti;printf("input10numbers:");for(i=0;i<10;i++)scanf("%d",&number[i]);}voidmax_min_value(int*number){int*max,*min,*p,temp;max=min=number;for(p=number+1;p<number+10;p++)if(*p>*max)max=p;elseif(*p<*min)min=p;temp=number[0];number[0]=*min;*min=temp;if(max==number)max=min;temp=number[9];number[9]=*max;*max=temp;}voidoutput(int*number){int*p;printf("Now,theyare:");for(p=number;p<number+10;p++)printf("%d",*p);printf("\n");}#include<>intmain(){voidmove(int[20],int,int);intnumber[20],n,m,i;printf("howmanynumbers?");scanf("%d",&n);printf("input%dnumbers:\n",n);for(i=0;i<n;i++)scanf("%d",&number[i]);printf("howmanyplaceyouwantmove?");scanf("%d",&m);move(number,n,m);printf("Now,theyare:\n");for(i=0;i<n;i++)printf("%d",number[i]);printf("\n");return0;}voidmove(intarray[20],intn,intm){int*p,array_end;array_end=*(array+n-1);for(p=array+n-1;p>array;p--)*p=*(p-1);*array=array_end;m--;if(m>0)move(array,n,m);}#include<>intmain(){inti,k,m,n,num[50],*p;printf("\ninputnumberofperson:n=");scanf("%d",&n);p=num;for(i=0;i<n;i++)*(p+i)=i+1;i=0;k=0;m=0;while(m<n-1){if(*(p+i)!=0)k++;if(k==3){*(p+i)=0;k=0;m++;}i++;if(i==n)i=0;}while(*p==0)p++;printf("ThelastoneisNO.%d\n",*p);return0;}#include<>intmain(){intlength(char*p);intlen;charstr[20];printf("inputstring:");scanf("%s",str);len=length(str);printf("Thelengthofstringis%d.\n",len);return0;}intlength(char*p){intn;n=0;while(*p!='\0'){n++;p++;}return(n);}#include<>#include<>intmain(){voidcopystr(char*,char*,int);intm;charstr1[20],str2[20];printf("inputstring:");gets(str1);printf("whichcharacterthatbegintocopy?");scanf("%d",&m);if(strlen(str1)<m)printf("inputerror!");else{copystr(str1,str2,m);printf("result:%s\n",str2);}return0;}voidcopystr(char*p1,char*p2,intm){intn;n=0;while(n<m-1){n++;p1++;}while(*p1!='\0'){*p2=*p1;p1++;p2++;}*p2='\0';}#include<>intmain(){intupper=0,lower=0,digit=0,space=0,other=0,i=0;char*p,s[20];printf("inputstring:");while((s[i]=getchar())!='\n')i++;p=&s[0];while(*p!='\n'){if(('A'<=*p)&&(*p<='Z'))++upper;elseif(('a'<=*p)&&(*p<='z'))++lower;elseif(*p=='')++space;elseif((*p<='9')&&(*p>='0'))++digit;else++other;p++;}printf("uppercase:%dprintf("space:%dreturn0;}
lowercase:%d",upper,lower);digit:%dother:%d\n",space,digit,other);#include<>intmain(){voidmove(int*pointer);inta[3][3],*p,i;printf("inputmatrix:\n");for(i=0;i<3;i++)scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);p=&a[0][0];move(p);printf("Now,matrix:\n");for(i=0;i<3;i++)printf("%d%d%d\n",a[i][0],a[i][1],a[i][2]);return0;}voidmove(int*pointer){inti,j,t;for(i=0;i<3;i++)for(j=i;j<3;j++){t=*(pointer+3*i+j);*(pointer+3*i+j)=*(pointer+3*j+i);*(pointer+3*j+i)=t;}}#include<>intmain(){voidchange(int*p);inta[5][5],*p,i,j;printf("inputmatrix:\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);p=&a[0][0];change(p);printf("Now,matrix:\n");for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d",a[i][j]);printf("\n");}return0;}voidchange(int*p){inti,j,temp;int*pmax,*pmin;pmax=p;pmin=p;for(i=0;i<5;i++)for(j=i;j<5;j++){if(*pmax<*(p+5*i+j))pmax=p+5*i+j;if(*pmin>*(p+5*i+j))pmin=p+5*i+j;}temp=*(p+12);*(p+12)=*pmax;*pmax=temp;temp=*p;*p=*pmin;*pmin=temp;pmin=p+1;for(i=0;i<5;i++)for(j=0;j<5;j++)if(((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j;temp=*pmin;*pmin=*(p+4);*(p+4)=temp;pmin=p+1;for(i=0;i<5;i++)for(j=0;j<5;j++)if(((p+5*i+j)!=(p+4))&&((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j;temp=*pmin;*pmin=*(p+20);*(p+20)=temp;pmin=p+1;for(i=0;i<5;i++)for(j=0;j<5;j++)if(((p+5*i+j)!=p)&&((p+5*i+j)!=(p+4))&&((p+5*i+j)!=(p+20))&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j;temp=*pmin;*pmin=*(p+24);*(p+24)=temp;}#include<>intmain(){voidchange(int*p);inta[5][5],*p,i,j;printf("inputmatrix:\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);p=&a[0][0];change(p);printf("Now,matrix:\n");for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d",a[i][j]);printf("\n");}return0;}voidchange(int*p)printf("NO.");for(i=0;i<5;i++)printf(",%s",course[i]);
andscores:\n");printf("\n");pscore=&score[0][0];pnum=&num[0];for(i=0;i<4;i++){scanf("%d",pnum+i);for(j=0;j<5;j++)scanf("%f",pscore+5*i+j);}paver=&aver[0];printf("\n\n");avsco(pscore,paver);");for(i=0;i<5;i++)printf("%11s",course[i]);printf("average\n");for(i=0;i<4;i++){labe1=0;for(j=0;j<5;j++)if(*(pscore+5*i+j)<labe1++;if(labe1>=2){printf("%d",num[i]);for(k=0;k<5;k++)printf("%",*(pscore+5*i+k));printf("%\n",aver[i]);}}}voidgood(charcourse[5][10],intnum[4],float*pscore,floataver[4])");for(i=0;i<5;i++)printf("%11s",course[i]);printf("average\n");for(i=0;i<4;i++){n=0;for(j=0;j<5;j++)if(*(pscore+5*i+j)>n++;if((n==5)||(aver[i]>=90)){printf("%d",num[i]);for(k=0;k<5;k++)printf("%",*(pscore+5*i+k));printf("%\n",aver[i]);}}}#include<>intmain(){charstr[50],*pstr;inti,j,k,m,e10,digit,ndigit,a[10],*pa;printf("inputastring:\n");gets(str);pstr=&str[0];/*字符指針pstr置于數(shù)組str首地址*/pa=&a[0];/*指針pa置于a數(shù)組首地址*/ndigit=0;/*ndigit代表有多少個整數(shù)*/i=0;/*代表字符串中的第幾個字符*/j=0;while(*(pstr+i)!='\0'){if((*(pstr+i)>='0')&&(*(pstr+i)<='9'))j++;else{if(j>0){digit=*(pstr+i-1)-48;/*將個數(shù)位賜予digit*/k=1;while(k<j)/*將含有兩位以上數(shù)的其他位的數(shù)值累計于digit*/{e10=1;for(m=1;m<=k;m++)e10=e10*10;/*e10代表該位數(shù)所應乘的因子*/digit=digit+(*(pstr+i-1-k)-48)*e10;/*將該位數(shù)的數(shù)值累加于digit*/k++;
/*位數(shù)
K自增*/}*pa=digit;
/*將數(shù)值賜予數(shù)組
a*/ndigit++;pa++;
/*指針
pa指向
a數(shù)組下一元素
*/j=0;}}i++;}if(j>0){digit=*(pstr+i-1)-48;k=1;while(k<j)/*{e10=1;for(m=1;m<=k;m++)e10=e10*10;
/*以數(shù)字結尾字符串的最后一個數(shù)據(jù)*//*將個數(shù)位賜予digit*/將含有兩位以上數(shù)的其他位的數(shù)值累加于digit*//*e10代表位數(shù)所應乘的因子*/digit=digit+(*(pstr+i-1-k)-48)*e10;/*將該位數(shù)的數(shù)值累加于digit*/k++;
/*位數(shù)
K
自增*/}*pa=digit;
/*將數(shù)值賜予數(shù)組
a*/ndigit++;j=0;}printf("Thereare%dnumbersinthisline,theyare:\n",ndigit);j=0;pa=&a[0];for(j=0;j<ndigit;j++)printf("%d",*(pa+j));printf("\n");return0;
/*打印數(shù)據(jù)*/}#include<>intmain(){intstrcmp(char*p1,char*p2);intm;charstr1[20],str2[20],*p1,*p2;printf("inputtwostrings:\n");scanf("%s",str1);scanf("%s",str2);p1=&str1[0];p2=&str2[0];m=strcmp(p1,p2);printf("result:%d,\n",m);return0;}intstrcmp(char*p1,char*p2)
n",*(month_name+n));elseprintf("Itiswrong.\n");return0;}#include<>#defineNEWSIZE1000
year,&,&;switch{case1:days=;break;case2:days=+31;break;case3:days=+59;break;case4:days=+90;break;case5:days=+120;break;case6:days=+151;break;case7:days=+181;break;case8:days=+212;break;case9:days=+243;break;case10:days=+273;break;case11:days=+304;break;case12:days=+334;break;}if(%4==0&&%100!=0||%400==0)&&>=3)days+=1;printf("%d/%disthe%dthdayin%d.\n",,,days,;return0;}#include<>struct{intyear;intmonth;intday;}date;intmain(){inti,days;intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf("inputyear,month,day:");scanf("%d,%d,%d",&date.year,&,&;days=0;for(i=1;i<;i++)days=days+day_tab[i];days=days+;if(%4==0&&%100!=0||%400==0)&&>=3)days=days+1;printf("%d/%disthe%dthdayin%d.\n",,,days,;return0;}#include<>structy_m_d{intyear;intmonth;intday;}date;intmain(){intdays(structy_m_ddate1);printf("inputyear,month,day:");scanf("%d,%d,%d",&,&,&;printf("%d/%disthe%dthdayin%d.\n",,,days(date),;}intdays(structy_m_ddate1){intsum;switch{case1:sum=;break;case2:sum=+31;break;case3:sum=+59;break;case4:sum=+90;break;case5:sum=+120;break;case6:sum=+151;break;case7:sum=+181;break;case8:sum=+212;break;case9:sum=+243;break;case10:sum=+273;break;case11:sum=+304;break;case12:sum=+334;break;}if(%4==0&&%100!=0||%400==0)&&>=3)sum+=1;return(sum);}#include<>structy_m_d{intyear;intmonth;intday;}date;intmain(){intdays(intyear,intmonth,intday);intdays(int,int,int);intday_sum;printf("inputyear,month,day:");scanf("%d,%d,%d",&date.year,&,&;day_sum=days,,;printf("%d/%disthe%dthdayin%d.\n",,,day_sum,;}intdays(intyear,intmonth,intday){intday_sum,i;intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};day_sum=0;for(i=1;i<month;i++)day_sum+=day_tab[i];day_sum+=day;if((year%4==0&&year%100!=0||year%4==0)&&month>=3)day_sum+=1;return(day_sum);}#include<>#defineN5structstudent{charnum[6];charname[8];intscore[4];}stu[N];intmain(){voidprint(structstudentstu[6]);inti,j;for(i=0;i<N;i++){printf("\ninputscoreofstudent%d:\n",i+1);printf("NO.:");scanf("%s",stu[i].num);printf("name:");scanf("%s",stu[i].name);for(j=0;j<3;j++){printf("score%d:",j+1);scanf("%d",&stu[i].score[j]);}printf("\n");}print(stu);return0;}voidprint(structstudentstu[6]){inti,j;printf("\nNO.namescore1score2score3\n");for(i=0;i<N;i++){printf("%5s%10s",stu[i].num,stu[i].name);for(j=0;j<3;j++)printf("%9d",stu[i].score[j]);printf("\n");}}#include<>#defineN5structstudent{charnum[6];charname[8];intscore[4];}stu[N];intmain(){voidinput(structstudentstu[]);voidprint(structstudentstu[]);input(stu);print(stu);return0;}voidinput(structstudentstu[]){inti,j;for(i=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流業(yè)無人機配送技術應用方案
- 房地產業(yè)合伙經營協(xié)議書
- 典當合同典當行借款合同
- 取土場施工方案
- 西寧抗風門施工方案
- 環(huán)境影響評價及保護方案手冊
- 四干渠電站施工方案
- 空心方樁施工方案
- 醫(yī)院智能化施工方案
- 電梯消防施工方案范本
- 虛勞中醫(yī)護理方案
- 2024至2030年中國調味品市場前景預測及投資研究報告
- 江蘇省南通市通州區(qū)通州區(qū)育才中學2023-2024學年英語八下期末檢測試題含答案
- 【美妝產品的直播帶貨營銷策略探究:以花西子彩妝為例12000字(論文)】
- 靜配中心腸外營養(yǎng)液TPN藥物配置的操作方法課件
- 2024年浙江省寧波市外事服務中心招聘2人歷年(高頻重點復習提升訓練)共500題附帶答案詳解
- 廢活性炭管理制度范文
- YYT 0972-2016 有源植入醫(yī)療器械 植入式心律調節(jié)設備用四極連接器系統(tǒng) 尺寸和試驗要求
- 公司變更法人協(xié)議書模板
- DL-T5161.17-2018電氣裝置安裝工程質量檢驗及評定規(guī)程第17部分:電氣照明裝置施工質量檢驗
- 2024年共青團入團積極分子結業(yè)考試題庫及答案
評論
0/150
提交評論