《二维数组练习题参考答案(4页).doc》由会员分享,可在线阅读,更多相关《二维数组练习题参考答案(4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-1、求一个4x4数组左下三角(包括主对角线)元素的和(数组元素的值读者自定)。#include stdio.h main( ) int i,j,s=0,x44; /* i,j是循环变量 */*给二维数组元素从键盘上读入数据并把元素输出到屏幕上*/for(i=0;i4;i+)for(j=0;j4;j+)scanf(%d,&xij);printf(%5d,xij);printf(n);/*给二维数组元素从键盘上读入数据并把元素输出到屏幕上*/*求数组左下三角(包括主对角线)元素的和*/for(i=0;i4;i+)for(j=0;j=i;j+)s=s+xij;/*求数组左下三角(包括主对角线)元素
2、的和*/*输出和*/printf(s=%5dn,s);/*输出和*/2、生成并输出一个杨辉三角的前7行,用金字塔的形式输出。main( )int a77, i, j;/*给二维数组第一列与对角线元素赋1值*/ for(i=0; i7; i+) ai0=1; aii=1; /*给二维数组第一列与对角线元素赋1值*/*给二维数组的其它元素赋值*/ for(i=2; i7; i+) for(j=1; ji; j+) aij=ai-1j-1+ai-1j;/*给二维数组的其它元素赋值*/*输出三角形,用每行加空格的方式挤出金字塔*/ for(i=0; i7; i+) for(j=0; j=7-i; j+
3、) printf( ); for(j=0; j=i; j+) printf(%4d, aij); printf(n); /*输出三角形,用每行加空格的方式挤出金字塔*/3、找规律自动填充如图所示的6x6方阵。111222111222111222333444333444333444 main( )int a66, i, j;/*给二维数组的元素赋值*/ for(i=0; i6; i+) for(j=0; j6; j+) if(i=2 & j=2) aij=1; else if(i2) aij=2; else if(i2 & j=2) aij=3; else aij=4;/*给二维数组的元素赋值*
4、/*输出二维数组的元素*/ for(i=0; i6; i+) for(j=0; j6; j+) printf(%4d, aij); printf(n); /*输出二维数组的元素*/4、求3x4数组中大于等于平均值的所有数组元素的和,并统计满足条件元素的个数(数组元素的值读者自定)。#include stdio.hmain( )int a34,i,j,k=1;/*i,j为循环控制变量,k为二维数组赋值变量*/ float s=0,ver;/*s为二维数组元素的和,ver为平均值变量*/ /*给二维数组赋值1 2 3 4 5 6 7 8 9 10 11 12,并按3行4列输出*/ for(i=0;
5、 i3; i+) for(j=0; j4; j+) aij=k+; printf(%5d,aij); printf(n); /*给二维数组赋值1 2 3 4 5 6 7 8 9 10 11 12,并按3行4列输出*/ /*求二维数组元素和及平均值*/ for(i=0; i3; i+) for(j=0; j4; j+) s=s+aij; ver=s/12;/*求二维数组元素和及平均值*/*求大于平均值二维数组元素和及个数,s为和,k为个数*/s=0;k=0;for(i=0; i3; i+) for(j=0; j=ver)s=s+aij;k+;/*求大于平均值二维数组元素和及个数*,s为和,k为个
6、数*/*输出平均值,大于平均值二维数组元素和及个数*/ printf(ver=%5.2f,s=%5.2f,k=%5dn,ver,s,k);/*输出平均值,大于平均值二维数组元素和及个数*/5、求一个5x5数组中主对角线元素的和以及副对角线元素的积(数组元素的值读者自定)。#include stdio.hmain( )int a55,i,j;/*i,j为循环控制变量*/ float s=0,k=1;/*s为二维数组主对角线元素的和,k为副对角线元素之积*/ /*给二维数组赋值1 2 3 4 5 6 7 8 9 25,并按5行5列输出*/ for(i=0; i5; i+) for(j=0; j5; j+) aij=k+; printf(%5d,aij); printf(n); /*给二维数组赋值1 2 3 4 5 6 7 8 9 10 11 12,并按3行4列输出*/ /*求二维数组元素主、副对角线的和与积*/ k=1; for(i=0; i5; i+) for(j=0; j5; j+) if(i=j)s=s+aij; if(i+j=4)k=k*aij; /*求二维数组元素主、副对角线的和与积*/*输出维数组元素主、副对角线的和与积*/ printf(s=%5.2f,k=%.0fn,s,k);/*输出维数组元素主、副对角线的和与积*/-第 4 页-