第5章习题解答

2018-11-28 18:47

第5章 数组

【习题5-1】现有一实型一维数组A[12],其各元素值在内存中排列的顺序为:1.0,15.5,9.5,-23,8.4,66.5,7.1,22.0,54.5,-34,11.3,32.5,请按下列要求编写程序求答案。

(1)数组中元素值最小的数组元素。 (2)数组中元素值最大的数组元素。

(3)数组中某数组元素值等于另外两个数组元素值之和的等式。 (4)数组中某数组元素值等于另外两个数组元素值之差的等式。 程序如下:

/*c5_1.c*/ #include void main() {

double a[12]={1.0,15.5,9.5,-23,8.4,66.5,7.1,22.0,54.5,-34,11.3,32.5}; int i,j,k; double max,min; min=a[0]; for(i=0;i<12;i++) if(min>a[i]) min=a[i]; printf(\ max=a[0]; for(i=0;i<12;i++) if(max

if(i==j||j==k||k==i) continue; if(a[i]+a[j]==a[k])

printf(\ }

for(i=0;i<12;i++) for(j=0;j<12;j++) for(k=0;k<12;k++) {

if(i==j||j==k||k==i) continue; if(a[i]-a[j]==a[k])

printf(\ }

}

【习题5-2】现有一实型二维数组A[4][3],其各元素值在内存中排列的顺序为: 4.0,28.0,15.5,?9.5,?23.0,8.0,56.0,2.0,28.0,7.0,6.2,5.0 请按下列要求写出各题的答案。

(1)数组中元素值最小的数组元素。 (2)数组中元素值最大的数组元素。

(3)数组中某数组元素值等于另外两个数组元素值之积的等式。 (4)数组中某数组元素值等于另外两个数组元素值之商的等式。 答案:

(1)?23.0 (2)56.0 (3)(略) (4)(略)

【习题5-3】完成下列各数组的数组说明语句。

(1)定义一个有100个数组元素的整型一维数组r。 (2)定义一个有100行100列的实型二维数组s。

(3)定义一个整型三维数组t,第一维长度为3,第二维长度为4,第三维长度为5。 (4)定义一个实型四维数组q,第一维长度为6,第二维长度为5,第三维长度为4,第四维长度为3。

答案:

(1)int r[100]; (2)float s[100][100]; (3)int t[3][4][5];

(4)float q[6][5][4][3];

【习题5-4】说明下面各数组定义的含义,并指出对各数组元素所赋的值。 (1)float a[10]={3.,4.5,6.0,8.4,-32.8,3.2,56.0,4.5,2.3,1.5}; (2)int b[10]={3,5,0,12,34,7,8,9,41,88}; (3)float c[2][4]={1.,2.,3.,4.,5.,6.,7.,8.}; (4)int d[3][3]={{1,2,3},{4,5,6},{7,8,9}}; (5)int e[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 答案: (1)(略) (2)(略) (3)(略) (4)(略) (5)(略)

【习题5-5】按下列要求完成对各数组的初始化数组语句。

(1)实型一维数组A[12],其各元素值在内存中排列的顺序为:

1.0,15.5,9.5,-23.0,8.4,66.5,7.1,22.0,54.5,-34.0,11.3,32.0 (2)整型二维数组A[3][3],其各元素值在内存中排列的顺序为:

1,2,3,4,5,6,7,8,9

(3)实型三维数组A[2][3][2],其各元素值在内存中排列的顺序为:

1.0,15.5,9.5,-23,8.4,66.5,7.1,22.0,54.5,-34,11.3,32.0 答案:

float a[12]={1.0,15.5,9.5,-23.0,8.4,66.5,7.1,22.0,54.5,-34.0,11.3,32.0}; int a[3][3]={1,2,3,4,5,6,7,8,9};

float a[2][3][2]={1.0,15.5,9.5,-23,8.4,66.5,7.1,22.0,54.5,-34,11.3,32.0}; 【习题5-6】用数组定义语句和scanf语句完成5.4题中各小题相应的功能。 程序如下: /*c5_6.c*/

(略)

【习题5-7】有一整型二维数组a[10][10], 按下列要求写出下列各题C语言程序段。 (1)按行输出所有的数组元素。 (2)按列输出所有的数组元素。 (3)输出主对角线上的所有元素。 (4)输出副对角线上的所有元素。

(5)输出上三角阵(包含主对角线元素)的所有元素。 (6)输出上三角阵(包含副对角线元素)的所有元素。 (7)输出下三角阵(包含主对角线元素)的所有元素。 (8)输出下三角阵(包含副对角线元素)的所有元素。 程序如下: /*c5_7.c*/ #include void main() {

int a[10][10]; int i,j,k; for(i=0;i<10;i++) for(j=0;j<10;j++) a[i][j]=i*10+j; printf(\ for(i=0;i<10;i++) {

for(j=0;j<10;j++) printf(\ printf(\ }

printf(\ printf(\ fori=0;i<10;i++) {

for(j=0;j<10;j++)

printf(\ printf(\ }

printf(\ printf(\ for(i=0;i<10;i++) {

for(j=0;j<10;j++) if(i==j)

printf(\ else

printf(\ printf(\ }

printf(\ printf(\ for(i=0;i<10;i++) {

for(j=0;j<10;j++) if(i+j==10-1)

printf(\ else

printf(\ printf(\ }

printf(\ printf(\ for(i=0;i<10;i++) {

for(j=0;j<10;j++) if(i<=j)

printf(\ else

printf(\ printf(\ }

printf(\ printf(\ for(i=0;i<10;i++) {

for(j=0;j<10;j++) if(j<10-i)

printf(\ else

printf(\ printf(\ }

printf(\ printf(\ for(i=0;i<10;i++) {

for(j=0;j<10;j++) if(i>=j)

printf(\ else

printf(\ printf(\ }

printf(\ printf(\ for(i=0;i<10;i++) {

for(j=0;j<10;j++) if(j>=9-i)

printf(\ else

printf(\ printf(\ }

printf(\}

【习题5-8】阅读、分析下列程序,并写出运行相应程序后的输出结果。

(1)#include \ void main()

{ static int a[10]={1,1,1,1,1,1,1,1,1,1}; int i,j;

for(i=0;i<10;i++) for(j=0;j


第5章习题解答.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013小机泵大修总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: