使用模块化(用户自定义函数)改写程序 3. 课本92页:自定义求对角线之和函数,求矩阵a的对角线之和; #include<stdio.h> int main() { int a[3][3]={1,3,6,7,9,11,14,15,17}; int sum1=0,sum2=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) { if(i==j) sum1+=a[i][j]; if(i+j==2) sum2+=a[i][j]
时间: 2024-02-05 21:02:49 浏览: 49
好的,我可以帮您将该程序改写为使用自定义函数的形式。请看下面的代码:
```c
#include<stdio.h>
// 自定义函数,用于求矩阵的对角线之和
int diagonal_sum(int arr[][3], int n) {
int i, sum = 0;
for(i = 0; i < n; i++) {
sum += arr[i][i] + arr[i][n-i-1];
}
return sum;
}
int main() {
int a[3][3] = {1,3,6,7,9,11,14,15,17};
int sum = diagonal_sum(a, 3);
printf("矩阵的对角线之和为:%d\n", sum);
return 0;
}
```
在这个新的程序中,我们定义了一个名为`diagonal_sum`的函数,它接受两个参数:一个二维数组和矩阵的维数。该函数返回矩阵的对角线之和。在`main`函数中,我们声明了一个3x3的矩阵`a`,然后调用`diagonal_sum`函数来求出矩阵的对角线之和,最后输出结果。使用模块化的形式可以使程序更加简洁、易读,并且可以方便地复用该函数。
阅读全文