- 182
- 0
- 约2.91千字
- 约 4页
- 2016-11-30 发布于重庆
- 举报
二维数组练习题参考答案
1、求一个4x4数组左下三角(包括主对角线)元素的和(数组元素的值读者自定)。
#include stdio.h
main( )
{ int i,j,s=0,x[4][4]; /* i,j是循环变量 */
/*给二维数组元素从键盘上读入数据并把元素输出到屏幕上*/
for(i=0;i4;i++)
{for(j=0;j4;j++)
{scanf(%d,x[i][j]);
printf(%5d,x[i][j]);
}
printf(\n);
}
/*给二维数组元素从键盘上读入数据并把元素输出到屏幕上*/
/******求数组左下三角(包括主对角线)元素的和****/
for(i=0;i4;i++)
for(j=0;j=i;j++)
s=s+x[i][j];
/******求数组左下三角(包括主对角线)元素的和****/
/**********输出和**************/
printf(s=%5d\n,s);
/**********输出和**************/
}
2、生成并输出一个杨辉三角的前7行,用金字塔的形式输出。
main( )
{int a[7][7], i, j;
/*给二维数组第一列与对角线元素赋1值*/
for(i=0; i7; i++)
{ a[i][0]=1;
a[i][i]=1;
}
/*给二维数组第一列与对角线元素赋1值*/
/*****给二维数组的其它元素赋值******/
for(i=2; i7; i++)
for(j=1; ji; j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
/*****给二维数组的其它元素赋值******/
/*输出三角形,用每行加空格的方式挤出金字塔*/
for(i=0; i7; i++)
{ for(j=0; j=7-i; j++)
printf( );
for(j=0; j=i; j++)
printf(%4d, a[i][j]);
printf(\n);
}
/*输出三角形,用每行加空格的方式挤出金字塔*/
}
3、找规律自动填充如图所示的6x6方阵。
111222
111222
111222
333444
333444
333444
main( )
{int a[6][6], i, j;
/*****给二维数组的元素赋值******/
for(i=0; i6; i++)
for(j=0; j6; j++)
if(i=2 j=2)
a[i][j]=1;
else if(i=2 j2)
a[i][j]=2;
else if(i2 j=2)
a[i][j]=3;
else
a[i][j]=4;
/*****给二维数组的元素赋值******/
/******输出二维数组的元素*******/
for(i=0; i6; i++)
{ for(j=0; j6; j++)
printf(%4d, a[i][j]);
printf(\n);
}
/******输出二维数组的元素*******/
}
4、求3x4数组中大于等于平均值的所有数组元素的和,并统计满足条件元素的个数(数组元素的值读者自定)。
#include stdio.h
main( )
{int a[3][4],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; i3; i++)
{ for(j=0; j4; j++)
{a[i][j]=k++;
printf(%5d,a[i][j]);
}
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+a[i][j];
ver=s/12;
/*求二维数组元素和及平均值*/
/*求大于平均值二维数组元素和及
原创力文档

文档评论(0)