填空题 下面程序的功能是将方阵m中左下半三角(含对角线)所有元素值增加10,右上半三角所有元素值乘以5的形式重置,并输出重置前及重置后的方阵m。请填空完善程序。
#include<stdio.h>
int main()
{
int m[5][5]={2, 3, 1, 1, 5, 6, 7, 9, 11, 15, 18, 36, 17, 26, 22, 8, 25, 10, 12, 20, 25, 4, 13, 30, 16};
int i, j;
printf("Previous array is:/n");
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%3d", m[i][j]);
printf("/n");
}
for(i=0; i<5; i++)
for(j=0; j<5; j++)
{
if( 1)
m[i][j]+=10;
else
2;
}
printf("Current array is:/n");
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%3d", m[i][j]);
printf("/n");
}
return 0;
}
【正确答案】
【答案解析】j<=i m[i][j]*=5或m[i][j]=m[i][j]*5[解析] 根据题意,要求将方阵m中左下半三角的所有元素值增加10,要表示方阵m中所有左下半三角的元素(含对角线),控制m数组元素列下标的变量j就不能超过外层循环中控制m数组元素行下标的变量i的值,即应满足j<=i;否则就是方阵m中右上半三角的所有元素值,按照题意右上半三角的所有元素值要乘以5,即m[i][j]*=5;或m[i][j]=m[i][j]*5; 。