C 语言程序设计习题答案(6-13)(51 页)Good is good, but better carries it.精益求精,善益求善。C 语言程序设计习题答案习题六 数组一、选择题1~10: BDBCD CDBAB11~20:BCDCC DABBC21~30:CCADC ABBCB31~41:BDDDD CDCCB A二、填空题1. 9 、 0 2. 先行后列 3. 连续的存储空间中 4. QuickC 5. (c=getchar( )) 、 ‘ A ’ +i 或 65+i 6. ‘ \0 ’ 、 str1[i]-str2[ i ] 7. CDABC 8. 10 14 9. 6 10. 1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 111. 600 12. AzyD 13 4 some string *test 三、编程题1. 定义一个有 20 个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。 答:程序参见文件 Cprogram\xt6_3_01.c #include "stdio.h"#include "math.h"main(){int i,s0=0,s1=0,a[20]; for(i=0;i<20;i++) a[i]=rand()%100; for(i=0;i<20;i+=2){printf("%3d",a[i]); s0=s0+a[i];} printf(" sum is:%d ave=%f\n",s0,s0/10.0); for(i=1;i<20;i+=2){printf("%3d",a[i]); s1=s1+a[i];} printf(" sum is:%d ave=%f\n",s1,s1/10.0); }2. 设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组中出现过,若出现,则输出第一次出现的位置,否则,输出 no found。 答:程序参见文件 Cprogram\xt6_3_02.c #include "stdio.h"#include "math.h"main(){int i,s,a[20]; for(i=0;i<20;i++) a[i]=rand()%100; scanf("%d",&s); for(i=0;i<20;i++)if(a[i]==s){printf("found:a[%d]=%d\n",i,a[i]); break;} if(i==20) printf("no found\n"); for(i=0;i<20;i++)printf("%3d",a[i]); printf("\n");}3. 设有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。 答:程序参见文件 Cprogram\xt6_3_03.c #include "stdio.h"#define N 10main(){int i, j, s, a[N]={17,15,13,11,9,7,5,3,1}; //int a[N]={1,3,5,7,9,11,13,15,17}; scanf("%d",&s); i=0; if (a[0]
a[i]) i++; else while(si;j--)a[j]=a[j-1]; a[j]=s; for(i=0;i