(信息技术基础第2版)第8章课后习题参考答案.docx
第八章习题参考答案1)C2)B3)C4)B5)A6)A7)A8)B9)C10)B11)B12)A12)D13)D14)A15)*pma×=*p×16)efgh17)max(inta,intb)18)include<stdio.h>voidmain()voidinput(int*);voidmax_min_value(int*);voidoutput(int*);intnumber10;input(number);max_min_value(number);output(number);)voidinput(int*number)iti;printf(',input10numbers:");for(i=0;i<10;i+)scanf("%d",8numberi);voidmax_min_value(int*number)int*maxz*minz*p,temp;max=min=number;for(p=number+l;p<number+10;p+)if(*p>*max)max=p;elseif(*p<*min)min=p;temp=numberO;numberO=*min;*min=temp;if(max=number)max=min;temp=number9;number9=*max;*max=temp;)voidoutput(int*number)int*p;printf("Nowztheyare:");for(p=number;p<number+10;p+)printf("%d',p);printf("n');)19)#include<stdio.h>voidmain()intlength(char*p);intlen;charstr20;printf("inputstring:,);scanf("%s",str);Ien=Iengthfstr);printf("Thelengthofstringis%d.n",len);)intlength(char*p)intn;n=0;while(*p>=,0')+;P+;)return(n);)20)#include<stdio.h>voidmain()voidavsco(float*,float*);voidavcourl(char(*)10zfloat*);voidfali2(charcourse510zintnum,float*pscorezfloataver4);voidgood(charcourse510Jntnum4,float*pscore,floataver4);intij,*pnum,num4;floatscore45,aver4,*pscore,*paver;charcourse510,(*pcourse)10;printf("inputcourse:n");pcourse=course;for(i=0;i<5;i+)scanf("%s"zcoursei);printf("inputNO.andscores:n");printf(',NO,");for(i=0;i<5;i+)printf(",%s"zcoursei);printf(",n");pscore=8tscore00;pnum=&num0;for(i=0;i<4;i+)scanf("%d"zpnum+i);for(j=0;j<5;j+)scanf("%f",pscore+5*i+j);)paver=&aver0;printf("nn");avsco(pscorezpaver);avcourl(pcoursezpscore);printf(",nn");fali2(pcourse,pnumzpscorezpaver);printf("nn");good(pcourse,pnum,pscore,paver);)void avsco(float *pscorezfloat * paver)it ij;float sumzaverage;for (i=0;i<4;i+)sum=0.0;for (j=0;j<5;j+)sum=sum+(*(pscore+5*i+j);average=sum5;*(paver+i)=average;/求出每个学生的平均成绩/求出第一门课的平均成绩/找出2门课不及格的学生/找出成绩好的学生/求每个学生的平均成绩的函数累计每个学生的各科成绩计算平均成绩)voidavcourl(char(*pcourse)10zfloat*pscore)/求第一课程的平均成绩的函数inti;floatsumzaveragel;sum=0.0;for(i=0;i<4;i+)sum=sum+(*(pscore+5*i);累计每个学生的得分averagel=sum/4;计算平均成绩printf("coursel:%saveragescore:%7.2fn",*pcourse,averagel);)voidfali2(charcourse510Jntnumzfloat*pscore,floataver4)/找两门以上课程不及格的学生的函数intij,kjabel;printf("=Studentwhoisfailintwocourses=n");printf("NO.");for(i=0;i<5;i+)printf("%lls",coursei);printf("averagen");for(i=0;i<4;i+)label=O;for(j=O;j<5;j+)if(*(pscore+5*i+j)<60.0)label+;if(label>=2)printf("%d",numi);for(k=O;k<5;k+)printf("%11.2f",*(pscore+5*i+k);printf(,%11.2fn,averi);)voidgood(charcourse510Jntnum4,float*pscore,floataver4)/找成绩优秀学生(各门85以上或平均90分以上)的函数itij,k,n;printf("=Studentswhosescoreisgood=n");printf("NO.");for(i=0;i<5;i+)printf("%lls",coursei);printf("averagen");for(i=0;i<4;i+)n=0;for(j=0;j<5;j+)if(*(pscore+5*i+j)>85.0)n+;if(n=5)11(averi>=90)printf("%d"znumi);for(k=0;k<5;k+)printf("%11.2f,(pscore+5*i+k);printf("%11.2fn",averi);)