在TC2.0的编译环境下编写程序解决以下问题:(1) 输入一个n*n的矩阵。 1) 试求除开对角线上元素之外的元素之和; 2) 求 每行中与相应对角线元素不同的元素之和;
时间: 2024-05-13 11:16:51 浏览: 20
以下是在TC2.0编译环境下的程序代码:
```
#include <stdio.h>
int main()
{
int n, i, j, sum1 = 0, sum2 = 0;
printf("请输入矩阵的维数n:");
scanf("%d", &n);
int matrix[n][n]; // 定义n*n的矩阵
// 输入矩阵元素
printf("请输入矩阵的元素:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
if (i != j) { // 如果不在对角线上
sum1 += matrix[i][j]; // 累加除对角线外的元素之和
}
if (i == j) { // 如果在对角线上
sum2 += matrix[i][j]; // 累加对角线上的元素之和
}
}
}
// 输出结果
printf("除对角线外的元素之和为:%d\n", sum1);
for (i = 0; i < n; i++) {
int tmp_sum = 0;
for (j = 0; j < n; j++) {
if (i != j && matrix[i][j] != matrix[i][i]) { // 如果不在对角线上且不等于对角线元素
tmp_sum += matrix[i][j]; // 累加与相应对角线元素不同的元素之和
}
}
printf("第%d行中与相应对角线元素不同的元素之和为:%d\n", i+1, tmp_sum);
}
return 0;
}
```
程序的思路是:先输入矩阵元素并累加除对角线外的元素之和和对角线上的元素之和,然后对于每一行,再遍历该行的每个元素,累加与相应对角线元素不同的元素之和,最后输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)