C语言第七章课后习题答案

  • 格式:doc
  • 大小:42.50 KB
  • 文档页数:6

第七章数组一、选择题:1-5 A、A、D、C、C 6-10 B、D、D、B、A 11-15 D、D、D、D、A16-20 A、C、C、D、B 21-25 C、D、C、C、D二、填空题:1、标识符2、常量、符号常量、变量3、m-1、n-14、字符数组5、数组名6、s[j++]=s[i]7、C1!=C2&&C1= =′′三、阅读程序,写出结果1、 1,2,3,2、 2,3,43、 f4、 -4 0 4 4 35、1 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 1四、编程题:1、#include<stdio.h>#include<conio.h>#define N 10void main(){int a[N],i,max,min,m,n,t;clrscr();for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");max=min=a[0];m=n=0;for(i=1;i<N;i++)if(a[i]>max){max=a[i];m=i;}else if(a[i]<min){min=a[i];n=i;}t=a[m];a[m]=a[n];a[n]=t;for(i=0;i<N;i++)printf("%5d",a[i]);}2、#include<stdio.h>#include<conio.h>#define M 10#define N 6void main(){ float score[M][N],sum,i,j;clrscr();for(i=0;i<M;i++)for(j=0;j<N-1;j++)scanf("%f",&score[i][j]);for(i=0;i<M;i++){sum=0;for(j=0;j<N-1;j++)sum+=score[i][j];score[i][N-1]=sum/(N-1);}printf("output :\n");printf("%8s%8s%8s%8s%8s%8s\n","score1","score2","score3","score4","score5","ave rage");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%8.2f",score[i][j]);printf("\n");}}3、#include<stdio.h>#include<conio.h>#define M 4#define N 4void main(){int a[M][N],i,j,sum=0;for(i=0;i<M;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);for(i=0;i<M;i++){ for(j=0;j<N-1;j++)printf("%5d",a[i][j]);printf("\n");}for(i=0;i<M;i++)for(j=0;j<N;j++)if(i==j) sum+=a[i][j];for(i=0;i<M;i++)for(j=0;j<i;j++)a[i][j]--;for(i=0;i<M;i++)for(j=i+1;j<N;j++)a[i][j]++;printf("\n\n");for(i=0;i<M;i++){ for(j=0;j<N-1;j++)printf("%5d",a[i][j]);printf("\n");}printf("sum=%5d\n",sum);}4、#include<stdio.h>#include<conio.h>#define M 20void main(){int i,n=0;long f[M]={1,1};clrscr();for(i=2;i<M;i++)f[i]=f[i-1]+f[i-2];for(i=0;i<M;i++){printf("%8ld",f[i]);n++;if(n%8==0) printf("\n");}}5、#include<stdio.h>#define M 10void main(){static int a[M]={122,107,96,87,80,56,40,10,8,-20};int x,low,mid,high,found;clrscr();low=0;high=M-1;found=0;printf("Input a number to be searched:");scanf("%d",&x);while(low<=high){mid=(low+high)/2;if(x==a[mid]){found=1;break;}else if(x<a[mid])low=mid+1;elsehigh=mid-1;}if(found==1)printf("The index of %d is %d\n",x,mid);elseprintf("There is not %d\n",x);}6、#include<stdio.h>#include<conio.h>#include<string.h>void main(){char s[80];int i;clrscr();gets(s);for(i=0;i<=strlen(s)/2;i++)if(s[i]!=s[strlen(s)-1-i]) break;if(i<strlen(s)/2) printf("%s is not huiwen.\n",s); else printf("%s is huiwen.\n",s);}7、#include<stdio.h>#include<conio.h>#define M 3#define N 4void main(){int a[M][N],i,j,k,row,colum,flag=0;int max;clrscr();for(i=0;i<M;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);printf("\n\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",a[i][j]);printf("\n");}for(i=0;i<M;i++){max=a[i][0];row=i;colum=0;for(j=1;j<N;j++)if(max<a[i][j]){ max=a[i][j];row=i;colum=j;}for(k=0;k<M;k++)if(a[k][colum]<max) break;if(k>=M){ printf("a[%d][%d]=%d is an'dian.\n",row,colum,max);flag=1;}}if(flag==0)printf("There is not an'dian.\n");}8、#include<stdio.h>#include<conio.h>#include<string.h>#define M 80#define N 40void main(){char str1[M],str2[N];int i,j;clrscr();gets(str1);gets(str2);for(i=strlen(str1),j=0;str2[j]!='\0';i++,j++)str1[i]=str2[j];str1[i]='\0';puts(str1);}9、#include<stdio.h>#include<conio.h>#include<string.h>void main(){char str[80]="\0";char str1[80]="\0",str2[80]="\0";int i,j,flag=1;gets(str);clrscr();puts(str);for(i=0;str[i]!='\0';){ if(str[i]==' ') {flag=0; i++;}else flag=1;if(flag==1)for(j=0;str[i]!=' '&&str[i]!='\0';j++,i++) str2[j]=str[i];str2[j]='\0';if(strlen(str2)>strlen(str1))strcpy(str1,str2);}puts(str1);}10、#include<stdio.h>#include<conio.h>main(){char str[80];int i,count=0;clrscr();gets(str);for(i=0;i<str[i]!='\0';i++)if(str[i]=='a'&&str[i+1]=='b')count++;printf("ab is %d\n",count);}。