用C语言写函数调用求1+2+3+..n的和二维数组主对角线的乘积?

如题所述

#include <stdio.h>
// 计算 1+2+3+...+n 的和
int sum(int n) {
int s = 0;
for (int i = 1; i <= n; i++) {
s += i;
}
return s;
}
// 计算二维数组主对角线上元素的乘积
int diagonal_product(int a[][3], int n) {
int p = 1;
for (int i = 0; i < n; i++) {
p *= a[i][i];
}
return p;
}
int main() {
// 计算 1+2+3+...+n 的和
int n = 10;
int s = sum(n);
printf("The sum of the first %d positive integers is %d\n", n, s);
// 计算二维数组主对角线上元素的乘积
int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int n_rows = 3;
int p = diagonal_product(a, n_rows);
printf("The product of the elements on the main diagonal of the 3x3 array is %d\n", p);
return 0;
}
在上面的代码中,sum() 函数接收一个参数 n,计算前 n 个正整数的和,并返回结果。diagonal_product() 函数接收一个二维数组 a 和它的行数 n_rows,计算二维数组主对角线上元素的乘积,并返回结果。
在主函数中,我们分别调用了这两个函数,并打印出结果。注意,在调用 diagonal_product() 函数时需要将二维数组作为参数传递给它。
温馨提示:答案为网友推荐,仅供参考
相似回答