输入:二维数组a[5][5]
输出:先把用户输入的二维数组的值打印一遍,主对角线的和(变量sum),次对角线的和(account),总共的和(sum+account)
代码:
#include <stdio.h>
#include <stdlib.h>
#define M 5
int fun(int a[][5])
{
int i, j, sum = 0, account = 0;
for (i = 0; i < M; i++)
{
for (j = 0; j < M; j++)
{
if (i == j)
{
sum += a[i][j];
}
if (i + j == M - 1)
{
account += a[i][j];
}
}
}
printf("主对角线=%d\n", sum);
printf("次对角线=%d\n", account);
printf("主次对角线之和=%d", sum + account);
}
int main()
{
int a[M][M], i, j, n;
for (i = 0; i < M; i++)
for (j = 0; j < M; j++)
{
scanf("%d", &a[i][j]);
}
for (i = 0; i < M; i++)
{
for (j = 0; j < M; j++)
{
printf("%3d", a[i][j]);
}
printf("\n");
}
fun(a);
return 0;
}
运行效果: