题目:
编写程序,把下面的数据输入一个二维数组中。
25 36 78 13
12 26 88 93
75 18 22 32
56 44 36 58
然后执行以下操作:
①输出矩阵两个对角线上的数;
②分别输出各行和各列的和;
③交换第一行和第三行的位置;
④交换第二列和第四列的位置;
⑤输出处理后的数组
代码实现:
/**<
编写程序,把下面的数据输入一个二维数组中。
25 36 78 13
12 26 88 93
75 18 22 32
56 44 36 58
然后执行以下操作:
①输出矩阵两个对角线上的数;
②分别输出各行和各列的和;
③交换第一行和第三行的位置;
④交换第二列和第四列的位置;
⑤输出处理后的数组 */
#include
#include
int main()
{
int a[4][4] = { {25,36,78,13},
{12,26,88,93},
{75,18,22,32},
{56,44,36,58}};
int i,j;
int plate;
//①输出矩阵两个对角线上的数
printf("主对角线上的数为:\n");
for(i=0; i<4; i++)
{
printf("%4d", a[i][i]);
}
printf("\n次对角线上的数为:\n");
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
if(i+j == 3)
printf("%4d", a[i][j]);
}
}
printf("\n");
//②分别输出各行和各列的和
for(i=0; i<4; i++)
{
int sum = 0;
for(j=0; j<4; j++)
{
sum += a[i][j];
}
printf("第%d行的和为:%d\n", i,sum);
}
for(i=0; i<4; i++)
{
int sum = 0;
for(j=0; j<4; j++)
{
sum += a[j][i];
}
printf("第%d列的和为:%d\n", i,sum);
}
//③交换第一行和第三行的位置
for(i=0; i<4; i++)
{
plate = a[0][i];
a[0][i] = a[2][i];
a[2][i] = plate;
}
//④交换第二列和第四列的位置;
for(i=0; i<4; i++)
{
plate = a[i][1];
a[i][1] = a[i][3];
a[i][3] = plate;
}
//⑤输出处理后的数组
printf("处理后的数组为:\n");
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
return 0;
}
运行结果: