发布时间 : 星期一 文章C语言程序设计答案(第三版)杜友福版31页word文档更新完毕开始阅读a05a0f956bdc5022aaea998fcc22bcd126ff4297
0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 10. 600 11. AzyD
12. 4 some string *test 三、编程题
1. 定义一个有20个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。 #include
int i,s0=0,s1=0,a[20]; for(i=0;i<20;i++) a[i]=rand()0; for(i=0;i<20;i+=2) { printf(\ s0=s0+a[i]; }
printf(\ sum is:%d ave=%f\\n\ for(i=1;i<20;i+=2) { printf(\ s1=s1+a[i]; }
printf(\ sum is:%d ave=%f\\n\
2. 设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组中出现过,若出现,则输出第一次出现的位置,否则,输出no found。 #include
for(i=0;i<20;i++) a[i]=rand()0; scanf(\ for(i=0;i<20;i++) if(a[i]==s) { printf(\ break; } if(i==20) printf(\ for(i=0;i<20;i++) printf(\ printf(\
3. 设有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。 #include
第 9 页
int i,j,s;
//int a[N]={1,3,5,7,9,11,13,15,17}; int a[N]={17,15,13,11,9,7,5,3,1}; scanf(\ i=0;
if(a[0] while(s>a[i]) i++; else while(si;j--) a[j]=a[j-1]; a[j]=s; for(i=0;i 4. 编一程序,从一个已排好序的数组中删去某个位置上的元素。 #include int a[N]={1,3,5,7,9,11,13,15,17,19}; for(i=0;i 5. 将一个二维数组的行、列互换后存到另一个二维数组中并输出结果。 #include int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},b[4][3]; for(i=0;i<4;i++) for(j=0;j<3;j++) b[i][j]=a[j][i]; printf(\ for(i=0;i<3;i++) for(j=0;j<4;j++) printf(\ printf(\ printf(\ 第 10 页 for(i=0;i<4;i++) for(j=0;j<3;j++) printf(\ printf(\ 6. 编一程序,在一个二维数组中,查找第一次出现的负数,并输出该数及其所在的行、列号。 #include int a[3][4]={1,3,5,7,9,11,13,-15,17,19,-21,23}; flag=0; for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]<0) flag=1; printf(\ i=j=100; //可使双重循环提前结束 if(flag==0) printf(\ printf(\ for(i=0;i<3;i++) for(j=0;j<4;j++) printf(\ printf(\ 7. 编程将一个字符数组中的字母,按由大到小的顺序进行排序。 #include char t,s[]=\ int i,j,n; puts(s); n=strlen(s); for(i=0;i 8. 输入一行字符,统计其中有多少个英语单词,单词之间用空格隔开。 #include 第 11 页 i=0;n=0;w=0; while(s[i]!='\\0') if(s[i]==' ') w=0; /*end of a word*/ else if(w==0) {w=1;n++;} /*begin of a word*/ i++; printf(\ 9. 编程将两个一维数组中的对应元素的值相减后进行输出。 #include 10. 有n个无序的数放在数组a中,请将相同的那些数删得只剩得一个,输出经过删除后的数据。 #include int i,j,k,a[10]={90,20,40,30,50,50,50,50,20,80}; for(i=0;i<10;i++) printf(\ printf(\ for(i=0;i<9;i++) for(j=i+1;j<10;j++) if(a[j]==a[i]) { a[j]=-888; } k=0; for(i=0;i<10;i++) if(a[i]!=-888) printf(\ a[k++]=a[i]; } //不相同的有效元素只有K个了 printf(\ 11. 求二维数组中这样一个元素的位置:它在行上最小,在列上也最小。如果没有这样的元素则输出相应的信息。 第 12 页