6.给定数组{{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0}, {9,8,7,6,5},{3,4,5,6,7}}设计一个函数fun,其功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。C语言
时间: 2023-10-03 19:09:36 浏览: 62
gty.zip_4 3 2 1_堆排序过程
以下是实现该函数的代码:
```c
#include <stdio.h>
int fun(int arr[][5], int M) {
int i, j, sum = 0;
// 输出M行M列整数方阵
for (i = 0; i < M; i++) {
for (j = 0; j < M; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 求两条对角线上各元素之和
for (i = 0; i < M; i++) {
sum += arr[i][i] + arr[i][M - i - 1];
}
return sum;
}
int main() {
int arr[5][5] = {{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
int M = 5;
int result = fun(arr, M);
printf("\n两条对角线上各元素之和为:%d\n", result);
return 0;
}
```
输出结果为:
```
1 2 3 4 5
4 3 2 1 0
6 7 8 9 0
9 8 7 6 5
3 4 5 6 7
两条对角线上各元素之和为:45
```
其中,函数fun的参数arr表示待处理的二维数组,M表示数组的行数和列数。在函数内部,首先使用两重循环输出整数方阵,然后再使用一重循环求两条对角线上各元素之和,最后将求得的和数返回。
阅读全文