版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(譚浩強(qiáng))第四版-課后答案解析C語言程序設(shè)計(譚浩強(qiáng))第四版-課后答案解析C語言程序設(shè)計(譚浩強(qiáng))第四版-課后答案解析資料僅供參考文件編號:2022年4月C語言程序設(shè)計(譚浩強(qiáng))第四版-課后答案解析版本號:A修改號:1頁次:1.0審核:批準(zhǔn):發(fā)布日期:第一章程序設(shè)計和C語言【第15頁】1-5#include<>intmain(){printf("**************************\n\n");printf("VeryGood!\n\n");printf("**************************\n");return0;}1-6#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;}第2章算法——程序的靈魂【第36頁】暫無答案
第3章最簡單的C程序設(shè)計——順序程序設(shè)計【第82頁】
3-1#include<>#include<>intmain(){floatp,r,n;r=;n=10;p=pow(1+r,n);printf("p=%f\n",p);return0;}3-2-1#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);#include<>#include<>intmain(){floatd=300000,p=6000,r=,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%\n",m);return0;}3-4#include<>intmain(){intc1,c2;c1=197;c2=198;printf("c1=%c,c2=%c\n",c1,c2);printf("c1=%d,c2=%d\n",c1,c2);return0;}3-5#include<>intmain(){inta,b;floatx,y;charc1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return0;}3-6#include<>intmain(){charc1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("passworis%c%c%c%c%c\n",c1,c2,c3,c4,c5);return0;}3-7#include<>intmain(){floath,r,l,s,sq,vq,vz;floatpi=;printf("請輸入圓半徑r,圓柱高h(yuǎn)∶");scanf("%f,%f",&r,&h);#include<>intmain(){intx,y;printf("輸入x:");scanf("%d",&x);if(x<1)/*x<1*/{y=x;printf("x=%3d,y=x=%d\n",x,y);}elseif(x<10)/*1=<x<10*/ {y=2*x-1; printf("x=%d,y=2*x-1=%d\n",x,y); } else/*x>=10*/ {y=3*x-11; printf("x=%d,y=3*x-11=%d\n",x,y); }return0;}4-7-1#include<>intmain(){intx,y;printf("enterx:");scanf("%d",&x);y=-1;if(x!=0)if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y);return0;}4-7-2#include<>intmain(){intx,y;printf("pleaseenterx:");scanf("%d",&x);y=0;if(x>=0)if(x>0)y=1;elsey=-1;printf("x=%d,y=%d\n",x,y);return0;}4-8#include<>intmain(){floatscore;chargrade;printf("請輸入學(xué)生成績:");scanf("%f",&score);while(score>100||score<0) {printf("\n輸入有誤,請重輸"); scanf("%f",&score); }switch((int)(score/10)){case10: case9:grade='A';break; case8:grade='B';break; case7:grade='C';break; case6:grade='D';break; case5: case4: case3: case2: case1: case0:grade='E'; }printf("成績是%,相應(yīng)的等級是%c\n",score,grade); return0;}4-9#include<>#include<>intmain(){intnum,indiv,ten,hundred,thousand,ten_thousand,place;.=%d\n",sn);return0;}5-6#include<>intmain(){doubles=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%\n",s);return0;}5-7#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;}5-8#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;}5-9-1#defineM1000/*定義尋找范圍*/#include<>intmain(){intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;inti,a,n,s;for(a=2;a<=M;a++)/*a是2-1000之間的整數(shù),檢查它是否完數(shù)*/{n=0;/*n用來累計a的因子的個數(shù)*/s=a;/*s用來存放尚未求出的因子之和,開始時等于a*/for(i=1;i<a;i++)/*檢查i是否a的因子*/if(a%i==0)/*如果i是a的因子*/ {n++;/*n加1,表示新找到一個因子*/ s=s-i;/*s減去已找到的因子,s的新值是尚未求出的因子之和*/ switch(n)/*將找到的因子賦給k1...k9,或k10*/ {case1: k1=i;break;/*找出的笫1個因子賦給k1*/ case2: k2=i;break;/*找出的笫2個因子賦給k2*/ case3: k3=i;break;/*找出的笫3個因子賦給k3*/ case4: k4=i;break;/*找出的笫4個因子賦給k4*/ case5: k5=i;break;/*找出的笫5個因子賦給k5*/ case6: k6=i;break;/*找出的笫6個因子賦給k6*/ case7: k7=i;break;/*找出的笫7個因子賦給k7*/ case8: k8=i;break;/*找出的笫8個因子賦給k8*/ case9: k9=i;break;/*找出的笫9個因子賦給k9*/ case10: k10=i;break;/*找出的笫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個因子,故應(yīng)再輸出一個因子*/if(n>3)printf(",%d",k4);/*n>3表示至少有4個因子,故應(yīng)再輸出一個因子*/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;}5-9-2#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;}5-10#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;}5-11#include<>intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;/*第n次落地時共經(jīng)過的米數(shù)*/hn=hn/2;/*第n次反跳高度*/}printf("第10次落地時共經(jīng)過%f米\n",sn);printf("第10次反彈%f米\n",hn);return0;}5-12#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;}5-13#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;}5-14#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;}5-15#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;}5-16#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;}5-17#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;}第6章利用數(shù)組處理批量數(shù)據(jù)【第168頁】6-1#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;}6-2#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;}6-3#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;}6-4#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;}6-5#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++)n",number);; printf("continuornot(Y/N)");scanf("%c",&c);if(c=='N'||c=='n') flag=0;}return0;}6-10#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++;else oth++; }}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;}6-11#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;}6-12a-c#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;}6-12b#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;}6-13#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;}6-14#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;}6-15#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;}第7章用函數(shù)實現(xiàn)模塊化程序設(shè)計【第218頁】7-1-1#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);}7-1-2#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;}7-2#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);}7-3#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);}7-4#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;}}7-6#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';}7-7#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';}7-8#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);}7-9#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++;}7-10#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);}7-11#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;}}7-12#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);}7-13#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));}7-14#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));}7-15#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; else top=mid+1; }if(sign==1||loca==-1)printf("%dnotbeenfound.\n",n);}7-16#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);}7-17#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);}7-18#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);/*調(diào)用函數(shù)sum_day*/if(leap(year)&&month>=3)/*調(diào)用函數(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);}第8章善于利用指針【第291頁】
8-1#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);}8-3#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");} 8-4#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);}8-5#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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)構(gòu)成課考試題及答案
- 吊裝作業(yè)安全試題及答案
- 安全員A證考試通關(guān)模擬題庫附參考答案詳解(黃金題型)
- 燃?xì)夤艿酪?guī)劃設(shè)計方案
- 未來五年文化用機(jī)制紙及紙板制造企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 2025年郵政知識考試題庫及答案
- 2025年注冊會計師考試(審計)真題卷答案解析與復(fù)習(xí)指導(dǎo)
- 未來五年榛樹類樹苗企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 未來五年互聯(lián)網(wǎng)農(nóng)林牧漁業(yè)廣告服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 2024學(xué)校食品安全管理員考核試題及答案
- 五年級下冊語文寒假預(yù)習(xí)古詩、古文、日積月累背誦單
- DB33 642-2019 熱電聯(lián)產(chǎn)能效、能耗限額及計算方法
- 陜西省寶雞市金臺區(qū)2025屆高三第一次檢測(一模)語文試題(解析版)
- 海參供貨合同范例
- 工程勘察設(shè)計行業(yè)質(zhì)量管理體系
- 復(fù)方蒲公英注射液對心血管系統(tǒng)作用研究
- 2021-2022學(xué)年浙江省寧波市鎮(zhèn)海區(qū)蛟川書院八年級(上)期末數(shù)學(xué)試卷(附答案詳解)
- (新版)老年人能力評估師理論考試復(fù)習(xí)題庫(含答案)
- 光纖激光打標(biāo)機(jī)說明書
- 治理現(xiàn)代化下的高校合同管理
- 境外宗教滲透與云南邊疆民族地區(qū)意識形態(tài)安全研究
評論
0/150
提交評論