您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言程序设计(科学)第5章课后习题参考答案
《C语言程序设计》习题参考答案1第5章习题参考答案1判断题123456789101112131415√×√××√×××××××××2填空题(1)32(2)4(3)str1[7]='\0';(4)for(i=0;i6;i++)gets(a[i]);(5)strcpy(web,);(6)int*p=a;(7)5(8)1(9)*(p+6)或*(s+6)3选择题123456789101112131415BDCBABCBACDBDBAD4程序阅读题(1)6(2)str(3)60(4)bcdefgacdefgabdefgabc(5)a1e25程序填空题(1)#includemath.hscanf(%f,&a[i])s=0;x=a[0]fabs(a[i]-s)(2)scanf(%d,&n)a[i][i]=1a[i-1][j-1]printf(\n)(3)b[i]!='\0'strcpyputs(b)(4)p=a[0];或p=&a[0][0];*p六、编程题1、使用数组和指针2种方法来处理。方法一(使用数组)《C语言程序设计》习题参考答案2#includestdio.hvoidmain(){inti=0,a[10],t;printf(Enterthe10number=\n);for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i5;i++){t=a[i];a[i]=a[9-i];a[9-i]=t;}for(i=0;i10;i++)printf(%d,a[i]);printf(\n);}方法二(使用指针)#includestdio.hvoidmain(){inti=0,a[10],t,*p,*q;printf(Enterthe10number=\n);for(p=a;pa+10;p++)scanf(%d,p);p=a;q=a+9;for(;pq;p++,q--){t=*p;*p=*q;*q=t;}for(p=a;pa+10;p++)printf(%d,*p);printf(\n);}2、方法一(使用数组)#includestdio.hmain(){inti,j,t,n,a[11]={0,1,2,3,4,5,6,7,8,9,10};for(i=0;i10;i++)printf(%d,a[i]);printf(\n);printf(EntertheMoven=?);《C语言程序设计》习题参考答案3scanf(%d,&n);for(i=1;i=n;i++){t=a[10];for(j=9;j=0;j--)a[j+1]=a[j];a[0]=t;}for(i=0;i=10;i++)printf(%d,a[i]);getch();}方法二(使用指针)#includestdio.hvoidmain(){inti,t,n,a[11]={0,1,2,3,4,5,6,7,8,9,10},*p=a;for(;pa+11;p++)printf(%d,*p);printf(\n);printf(EntertheMoven=?);scanf(%d,&n);for(i=1;i=n;i++){p=a+10;t=*p;for(;pa;p--)*p=*(p-1);*p=t;}for(p=a;pa+11;p++)printf(%d,*p);}3、#includestdio.h#includestdlib.hmain(){inta[100],b[100],i,j,p,n=0,t;randomize();for(i=0;i100;i++){《C语言程序设计》习题参考答案4a[i]=random(100);if(a[i]%2==0)b[n++]=a[i];}for(i=0;in-1;i++){p=i;for(j=i+1;jn;j++)if(b[j]b[p])p=j;t=b[p];b[p]=b[i];b[i]=t;}for(i=0;in;i++){printf(%d,b[i]);if(i%10==9)printf(\n);}getch();}4、#includestdio.h#includestdlib.h#defineN50main(){inta[N],i,j,p,t;randomize();for(i=0;iN;i++){a[i]=random(100);for(j=0;ji;j++)if(a[i]==a[j]){i--;break;}}for(i=0;iN-1;i++){p=i;for(j=i+1;jN;j++)《C语言程序设计》习题参考答案5if(a[j]a[p])p=j;t=a[p];a[p]=a[i];a[i]=t;}for(i=0;iN;i++){printf(%d,a[i]);if(i%10==9)printf(\n);}}5、#includestdio.h#defineN10voidmain(){inti;floata[N],s=0.0,x0=0.0;for(i=0;iN;i++){scanf(%f,&a[i]);x0+=a[i];}x0/=N;for(i=0;iN;i++)s+=(a[i]-x0)*(a[i]-x0);printf(%10.6f,s);}6、#defineN4#defineM3voidmain(){inti,j,sum,a[N][M+1],max,p;printf(inputscore\n);for(i=0;iN;i++)/*i代表学生序号*/{sum=0;/*每位学生成绩输入前,其总成绩赋初值0*/for(j=0;jM;j++)/*j代表课程代号*/{scanf(%d,&a[i][j]);/*输入第i号学生第j门课程的成绩*/sum=sum+a[i][j];/*累加求总成绩*/}《C语言程序设计》习题参考答案6a[i][M]=sum;/*求第i个学生的总成绩放到a[i][M]*/}max=a[0][M];p=0;for(i=1;iN;i++)/*查找总成绩最高的学生*/if(a[i][M]max)p=i;printf(No.%dTotalscore:%d\n,p+1,a[p][M]);}7、#includestdio.hvoidmain(){inta[5][6];inti,j,mi,mj;for(i=0;i5;i++)for(j=0;j6;j++){printf(inputa[%d][%d]:,i,j);scanf(%d,&a[i][j]);}mi=0;mj=0;for(i=0;i5;i++){for(j=0;j6;j++){if(a[i][j]a[mi][mj]){mi=i;mj=j;}printf(%d,a[i][j]);}printf(\n);}printf(min=%d,a[mi][mj]);}8、#includestdio.h#includemath.hvoidmain(){《C语言程序设计》习题参考答案7floata[5][6];inti,j,max;printf(Enterarraya=?\n);for(i=0;i5;i++)for(j=0;j6;j++)scanf(%f,&a[i][j]);for(i=0;i5;i++){max=a[i][0];for(j=0;j6;j++)/*查找第i行中绝对值最大的元素*/if(fabs(a[i][j])fabs(max))max=a[i][j];for(j=0;j6;j++)/*第i行中所有元素除以绝对值最大的元素*/{a[i][j]=a[i][j]/max;printf(%8.4,a[i][j]);}printf(-----max=%8.4\n,max);}}9、#includestdio.h#includestring.h#defineN20main(){charstr[N][15],st[15],*p=st;inti,j;for(i=0;iN;i++)scanf(%s,str[i]);for(i=0;iN;i++)for(j=0;jN-i-1;j++)if(strcmp(str[j],str[j+1])0){strcpy(p,str[j]);strcpy(str[j],str[j+1]);strcpy(str[j+1],p);}for(i=0;iN;i++)printf(%s\n,str[i]);《C语言程序设计》习题参考答案8}10、程序如下:#includestdio.hmain(){inta[10],b[10],t;intn=0,m=0,i,j,f;printf(InputArraya,endwith–1:);scanf(%d,&t);while(n10&&t!=-1){a[n++]=t;scanf(%d,&t);}printf(InputArrayb,endwith–1:);scanf(%d,&t);while(m10&&t!=-1){b[m++]=t;scanf(%d,&t);}for(i=0;in;i++)/*打印只在数组a中出现的元素*/{f=1;for(j=0;jm;j++)if(a[i]==b[j]){f=0;break;}if(f)printf(%d,a[i]);}for(i=0;im;i++)/*打印只在数组b中出现的元素*/{f=1;for(j=0;jn;j++)if(b[i]==a[j]){f=0;break;}if(f)printf(%d,b[i]);}}11、#includestdio.hmain(){charstr[81];inti=-1;printf(Input:);《C语言程序设计》习题参考答案9scanf(%s,str);while(++i80&&str[i]!='\0')if(str[i]=='$')str[i]='S';puts(str);}12、#includestdio.hvoidmain(){charx[80],y[26];inti,j,ny=0;gets(x);for(i=0;x[i]!='\0';i++)if(x[i]='A'&&x[i]='Z'){for(j=0;jny;j++)if(y[j]==x[i])break;if(j==ny){y[ny]=x[i];ny++;}}for(i=0;iny;i++)printf(%c,y[i]);printf(\n);}13、#includestdio.hvoidmain(){intm,bin[32],j;scanf(%d,&m);for(j=0;m!=0;j++){bin[j]=m%2;m=m/2;}for(;j!=0;j--)printf(%d,bin[j-1]);}14、#includestdio.h#includestring.h《C语言程序设计》习题参考答案10#includectype.hvoidmain(){chars[80];inti=0;gets(s);while(s[i]!='\0')if(isdigit(s[i]))strcpy(s+i,s+i+1);elsei++;puts(s);}15、voidmain(){inta,b,c;int*p1,*p2,*p3,*t;printf(\nPleaseinputthreeintegers:\n);scanf(%d,%d,%d,&a,&b,&c);p1=&a,p2=&b,p3=&c;if(*p1*p2)t=p1,p1=p2,p2=t;if(*p1*p3)t=p1,p1=p3,p3=t;if(*p2*p3)t=p2,p2=p3,p3=t;printf(neworder:\n);printf(%d,%d,%d,*p1,*p2,*p3);}16、voidmain(){charst[80],ss[20],sp[20],*a=st,*b=ss,*t=sp;inti,
本文标题:C语言程序设计(科学)第5章课后习题参考答案
链接地址:https://www.777doc.com/doc-2908103 .html