用c语言写在主函数内输入两个 5*5 矩阵,编写自定义函数同时将两个矩阵的上三角(包含对角线)元素相加及两个矩阵的下三角(不包含对 角线)元素相减得到一个新的矩阵,在主函数输出计算后的矩阵
时间: 2023-11-25 10:07:48 浏览: 72
下面是代码实现:
```c
#include <stdio.h>
void add_upper_and_sub_lower(int matrix1[][5], int matrix2[][5], int result[][5]) {
// 计算上三角元素相加
for (int i = 0; i < 5; i++) {
for (int j = i; j < 5; j++) {
result[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
// 计算下三角元素相减
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i; j++) {
result[i][j] = matrix1[i][j] - matrix2[i][j];
}
}
}
int main() {
int matrix1[5][5], matrix2[5][5], result[5][5];
// 输入两个矩阵
printf("请输入第一个矩阵:\n");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
scanf("%d", &matrix1[i][j]);
}
}
printf("请输入第二个矩阵:\n");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
scanf("%d", &matrix2[i][j]);
}
}
// 调用自定义函数计算上三角元素相加和下三角元素相减得到新矩阵
add_upper_and_sub_lower(matrix1, matrix2, result);
// 输出计算后的矩阵
printf("计算后的矩阵为:\n");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个代码中,我们定义了一个自定义函数add_upper_and_sub_lower来完成题目要求的操作。在这个函数中,我们首先计算两个矩阵的上三角元素相加,然后计算下三角元素相减,得到一个新的矩阵result。最后,在主函数中,我们输入两个矩阵,调用自定义函数计算得到新矩阵,并输出结果。
阅读全文