
– 1 – 第 7 章 数组习题解答 一、在以下每一题的四个选项中,请选择一个正确的答案。c语言课后答案 【题 7.1】 C 【题 7.2】 D 【题 7.3】 D 【题 7.4】 D 【题 7.5】 C 【题 7.6】 C 【题 7.7】 C 【题 7.8】 C 【题 7.9】 B 【题 7.10】 B 二、判断下列各叙述的正确性,若正确在( )内标记√,若错误在( )内标记×。 【题 7.11】 √ 【题 7.12】 √ 【题 7.13】 × 【题 7.14】 × 【题 7.15】 √ 【题 7.16】 × 【题 7.17】 × 【题 7.18】 × 【题 7.19】 √ 【题 7.20】 × 三、填空。请在下面各叙述的空白处填入合适的内容。 【题 7.21】 字符数组 【题 7.22】 0 【题 7.23】 4 【题 7.24】 按行的顺序存放 【题 7.25】 48 【题 7.26】 strcat( ) 【题 7.27】 6 【题 7.28】 10 【题 7.29】 strcmp( ) C 语言程序设计教程实验指导与习题解答 – 2 – 【题 7.30】 #include <stdio.h> 四、阅读下面的程序,写出程序运行结果。
【题 7.31】 abcdefgabcdefabcdeabcdabcaba 【题 7.32】 1 11 2 11 2 3 11 2 3 4 1 【题 7.33】 a[2]*b[1]=2a[4]*b[4]=16a[6]*b[7]=42 【题 7.34】 10 1 2 3 4 5 6 7 8 9 五、程序填空。请在下面程序空白处填入合适的语句。 【题 7.35】 a[j++]=a[i] 【题 7.36】 array[i]>array[j] 六、编程。对下面的问题编写程序并上机验证。 【题 7.37】 编写程序,用冒泡法对 20 个整数排序(按升序排序)。 /*lx7_1.c*/ #include "stdio.h" #define N 20 void main( ) { int data[N];int i,j,t;printf("请输入 %d 个整数:\n",N);for(i=0;i<N;i++)scanf("%d",&data[i]);printf("\n");for(i=0;i<N; i++)for(j=0; j<N-i; j++)if(data[i]>data[j]){ t=data[i]; data[i]=data[j]; data[j]=t; }printf("排序后的输出为:\n");for(i=0;i<N; i++)printf("%d ",data[i]); } 【题 7.38】 编写程序,将一个数插入到有序的数列中去,插入后的数列仍然有序。

/*lx7_2.c*/ #include "stdio.h" #define N 5 void main( ) { int a[N+1];int i,j,t,num;printf("请输入 %d 个整数:\n",N);for(i=0;i<N;i++)scanf("%d",&a[i]);printf("\n");for(i=0;i<N-1;i++) for(j=i+1;j<N;j++)if(a[i]>a[j]){ t=a[i]; a[i]=a[j]; a[j]=t; } printf("第一次输出:\n"); for(i=0;i<N;i++)printf("%d ",a[i]); printf("\n"); printf("请输入一个数:"); scanf("%d",&num); if(num>=a[N-1])a[N]=num; else if(num<a[0]){ for(i=N-1;i>=0;i--)a[i+1]=a[i];a[0]=num;}elsefor(i=N-1;i>=0;i--)if(a[i]>num)a[i+1]=a[i];else{ a[i+1]=num;break; C 语言程序设计教程实验指导与习题解答 – 4 –} printf("第二次输出:\n"); for(i=0;i<N+1;i++)printf("%d ",a[i]); printf("\n"); } 【题 7.39】 编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出 no found。
/*lx7_3.c*/ #include "stdio.h" #define N 10 void main( ) { int a[N];int num,i;char ch='n';printf("请输入一个数组:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);printf("输出数组:\n");for(i=0;i<N;i++)printf("%d ",a[i]);printf("\n");printf("请输入一个数\n");scanf("%d",&num);printf("开始查找\n");for(i=0;i<N;i++)if(num= =a[i]){ ch='y';printf("%d 在数组的第 %d 位\n",num,i+1);}if(ch= ='n')printf("no found\n"); } 【题 7.40】 若有说明:int a[2][3]={{1,2,3},{4,5,6}};,现要将 a 的行和列的元素互换后存到另一个二维数组 b 中,试编程。

days=days+356:printf(":printf("#include<:switch(day)。}#include "string.h" #include
/*lx7_6.c*/ #include "stdio.h" void main( ) { int i,j,a[5][7];printf("请输入一个二维数组\n");for(i=0;i<5;i++)for(j=0;j<7;j++)scanf("%d",&a[i][j]);printf("\n");for(i=0;i<5;i++)for(j=0;j<7;j++)if(a[i][j]<0){ printf("第一次出现的负数被找到!,负数值是%d\n",a[i][j]);goto end1;} end1: ; } 【题 7.43】 从键盘上输入 60 个字符,求相邻字母对(如 ab)出现的频率。 /*lx7_7.c*/ #include "stdio.h" #include "string.h" #define N 60 void main( ) { int i, len;char ch[N];float p,m=0;printf("请输入一个字符串:\n");scanf("%s",ch);len=strlen(ch);for(i=0;ch[i]!='\0' && i<N-1;i++)if(ch[i]= =ch[i+1]+1 || ch[i]+1= =ch[i+1])m++;p=m/len;printf("相邻字母对出现的频率是 %f\n",p); } 【题 7.44】 编写程序,定义数组 int a[4][6], b[4][6], c[4][6],并完成如下操作: (1)从键盘上输入数据给数组 a、b。

(2)将数组 a 与数组 b 各对应元素作比较,如果相等,则数组 c 的对应元素为 0,若前 者大于后者,则数组 c 的对应元素为 1;若前者小于后者,则数组 c 的对应元素为−1。 (3)输出数组 c 各元素的值。 /*lx7_8.c*/ #include "stdio.h" void main( ) { int i,j;int a[4][6],b[4][6],c[4][6];for(i=0;i<4;i++)for(j=0;j<6;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)for(j=0;j<6;j++)scanf("%d",&b[i][j]);for(i=0;i<4;i++)for(j=0;j<6;j++)if(a[i][j]==b[i][j])c[i][j]=0;else if(a[i][j]>b[i][j])c[i][j]=1;elsec[i][j]=-1;for(i=0;i<4;i++){ for(j=0;j<6;j++)printf("%d\t",c[i][j]);printf("\n");} } 【题 7.45】 编写程序,从键盘上输入两个字符串 a 和 b,要求不用 strcat( )函数把串 b 的前五个字符连接到串 a 中,如果 b 的长度小于 5,则把 b 的所有元素都连接到 a 中。
/*lx7_9.c*/ #include "stdio.h" #include "string.h" #define N 80 void main( ) { char a[N],b[N];int i,j,lena,lenb;printf("Please input first string:");scanf("%s",a);printf("Please input second string:"); C 语言程序设计教程实验指导与习题解答 – 8 –scanf("%s",b);lena=strlen(a);lenb=strlen(b);if(lenb<=5){ for(i=lena,j=0;i<lena+lenb;i++)a[i]=b[j++];a[i]='\0';}else{ for(i=lena,j=0;j<5;j++)a[i++]=b[j];a[i]='\0';}printf("Output first string:");printf("%s\n",a); } 【题 7.46】 编写函数,从一个排好序的整型数组中删去某数。c语言课后答案
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-95626-1.html
一分鹅肝酱和一份猪大肠
闯一下就不得了
好多台湾人搞不懂
中国品牌严重低估
泄浊屎