C语言程序设计习题答案613.docx
- 文档编号:7463091
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:18
- 大小:26.53KB
C语言程序设计习题答案613.docx
《C语言程序设计习题答案613.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题答案613.docx(18页珍藏版)》请在冰点文库上搜索。
C语言程序设计习题答案613
C语言程序设计习题答案之阿布丰王创作
习题六数组
一、选择题
1~10:
BDBCDCDBAB
11~20:
BCDCCDABBC
21~30:
CCADCABBCB
31~41:
BDDDDCDCCBA
二、填空题
1.9、0
2.先行后列
3.连续的存储空间中
4.QuickC
5.(c=getchar())、‘A’+i或65+i
6.‘\0’、str1[i]-str2[i]
7.CDABC
8.1014
9.6
10.10000
01000
00100
00010
00001
11.600
12.AzyD
134somestring*test
三、编程题
1.定义一个有20个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。
答:
程序拜见文件Cprogram\xt6_3_01.c
#include"stdio.h"
#include"math.h"
main()
{inti,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("sumis:
%dave=%f\n",s0,s0/10.0);
for(i=1;i<20;i+=2)
{printf("%3d",a[i]);
s1=s1+a[i];
}
printf("sumis:
%dave=%f\n",s1,s1/10.0);
}
2.设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组中出现过,若出现,则输出第一次出现的位置,否则,输出nofound。
答:
程序拜见文件Cprogram\xt6_3_02.c
#include"stdio.h"
#include"math.h"
main()
{inti,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("nofound\n");
for(i=0;i<20;i++)
printf("%3d",a[i]);
printf("\n");
}
3.设有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它拔出到数组中。
答:
程序拜见文件Cprogram\xt6_3_03.c
#include"stdio.h"
#defineN10
main()
{inti,j,s,a[N]={17,15,13,11,9,7,5,3,1};//inta[N]={1,3,5,7,9,11,13,15,17};
scanf("%d",&s);
i=0;
if(a[0] while(s>a[i])i++; else while(s for(j=N-1;j>i;j--) a[j]=a[j-1]; a[j]=s; for(i=0;i printf("%3d",a[i]); printf("\n"); } 4.编一程序,从一个已排好序的数组中删去某个位置上的元素。 答: 程序拜见文件Cprogram\xt6_3_04.c #include"stdio.h" #defineN10 main() {inti,j,a[N]={1,3,5,7,9,11,13,15,17,19}; for(i=0;i printf("\n"); scanf("%d",&i); for(j=i;j a[j]=0; for(i=0;i printf("\n"); } 5.将一个二维数组的行、列互换后存到另一个二维数组中并输出结果。 答: 程序拜见文件Cprogram\xt6_3_05.c #include"stdio.h" main() {inti,j; inta[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("arraya: \n"); for(i=0;i<3;i++) {for(j=0;j<4;j++) printf("%5d",a[i][j]); printf("\n"); } printf("arrayb: \n"); for(i=0;i<4;i++) {for(j=0;j<3;j++) printf("%5d",b[i][j]); printf("\n"); } } 6.编一程序,在一个二维数组中,查找第一次出现的负数,并输出该数及其所在的行、列号。 答: 程序拜见文件Cprogram\xt6_3_06.c #include"stdio.h" main() {inti,j,flag; inta[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("found: a[%d][%d]=%d\n",i,j,a[i][j]); i=j=100;//可使双重循环提前结束 } if(flag==0) printf("nofound! "); printf("arraya: \n"); for(i=0;i<3;i++) {for(j=0;j<4;j++) printf("%5d",a[i][j]); printf("\n"); } } 7.编程将一个字符数组中的字母,按由大到小的顺序进行排序。 答: 程序拜见文件Cprogram\xt6_3_07.c #include"stdio.h" #include"string.h" main() {chart,s[]="ABCDIVBHFBVCNLKFDB"; inti,j,n; puts(s); n=strlen(s); for(i=0;i for(j=i+1;j if(s[i] {t=s[i];s[i]=s[j];s[j]=t;} puts(s); } 8.输入一行字符,统计其中有多少个英语单词,单词之间用空格隔开。 答: 程序拜见文件Cprogram\xt6_3_08.c #include"stdio.h" #include"string.h" main() {chars[81]; intw,i,n; gets(s); i=0;n=0;w=0; while(s[i]! ='\0') {if(s[i]=='') w=0;/*endofaword*/ else if(w==0) {w=1;n++;}/*beginofaword*/ i++; } printf("numberofword: %d\n",n); } 9.编程将两个一维数组中的对应元素的值相减后进行输出。 答: 程序拜见文件Cprogram\xt6_3_09.c #include"stdio.h" #include"math.h" main() {inti,a[10],b[10]; for(i=0;i<10;i++) {a[i]=rand()%100;printf("%4d",a[i]);} printf("\n"); for(i=0;i<10;i++) {b[i]=rand()%100;printf("%4d",b[i]);} printf("\n"); for(i=0;i<10;i++) printf("%4d",a[i]-b[i]); printf("\n"); } 10.有n个无序的数放在数组a中,请将相同的那些数删得只剩得一个,输出经过删除后的数据。 答: 程序拜见文件Cprogram\xt6_3_10.c #include"stdio.h" main() {inti,j,k,a[10]={90,20,40,30,50,50,50,50,20,80}; for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); 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("%4d",a[i]); a[k++]=a[i];}//不相同的有效元素只有K个了 printf("\n"); } 11.求二维数组中这样一个元素的位置: 它在行上最小,在列上也最小。 如果没有这样的元素则输出相应的信息。 答: 程序拜见文件Cprogram\xt6_3_11.c #include"stdio.h" #include"math.h" main() {intj,i,k,flag,fz=0,a[4][5]; for(i=0;i<4;i++) {for(j=0;j<5;j++) {a[i][j]=rand()%100; printf("%4d",a[i][j]); } printf("\n"); } for(i=0;i<4;i++) {for(j=0;j<5;j++) {flag=1; for(k=0;k<5;k++) if(a[i][k] {flag=0;break;} for(k=0;k<4&&flag;k++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题 答案 613