以下是一个实现输入 3x3 矩阵并计算主对角线元素乘积的 C 程序,主对角线元素的积将在 fun () 函数中计算并输出:
#include <stdio.h>
// 函数声明
void fun(int matrix[3][3]);
int main() {
int matrix[3][3];
int i, j;
// 输入3x3矩阵的元素
printf("请输入3行3列矩阵的各个元素(整数):\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("请输入第%d行第%d列的元素: ", i+1, j+1);
scanf("%d", &matrix[i][j]);
}
}
// 调用函数计算并输出主对角线元素的积
fun(matrix);
return 0;
}
// 计算并输出主对角线元素的积
void fun(int matrix[3][3]) {
int product = 1;
int i;
// 主对角线元素的行索引和列索引相等(0,0)、(1,1)、(2,2)
for (i = 0; i < 3; i++) {
product *= matrix[i][i];
}
printf("主对角线元素的积为: %d\n", product);
}
代码说明:
- 程序先在 main 函数中创建一个 3x3 的二维数组用于存储矩阵元素
- 使用嵌套 for 循环接收用户输入的 9 个整数,填充到矩阵中
- 定义了 fun () 函数,接收 3x3 矩阵作为参数
- 在 fun () 函数中,通过循环计算主对角线元素的乘积(主对角线元素是指行索引和列索引相等的元素:matrix [0][0]、matrix [1][1]、matrix [2][2])
- 最后在 fun () 函数中直接输出计算得到的乘积
运行程序时,按照提示输入 9 个整数,程序会自动计算并显示主对角线元素的乘积。