编写C语言程序,输入一个1-6的正整数n,再输入n阶方阵a,计算该方阵对角线上元素的和。
时间: 2024-05-12 14:16:56 浏览: 152
好的,很高兴为您解答这个问题。
下面是C语言程序的代码,可以实现输入一个1-6的正整数n,再输入n阶方阵a,计算该方阵对角线上元素的和:
```
#include <stdio.h>
int main() {
int n, i, j, sum = 0;
int a[6][6];
printf("请输入一个1-6的正整数n:");
scanf("%d", &n);
printf("请输入%d阶方阵的元素:\n", n);
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
if (i == j) {
sum += a[i][j];
}
}
}
printf("该方阵对角线上元素的和为:%d\n", sum);
return 0;
}
```
以上就是实现该功能的C语言程序的代码了。如果您有任何问题,可以继续问我。
相关问题
用C语言编程 程序功能:输入正整数 n(n≤6),再输入 n 阶方阵 a,分别计算方阵主 对角线元素之和、副对角线元素之和、非对角线元素之和。
好的,这是一个关于矩阵计算的问题,下面是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, a[6][6], sum1 = 0, sum2 = 0, sum3 = 0;
printf("请输入矩阵的阶数n:");
scanf("%d", &n);
printf("请输入矩阵a:\n");
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
if(i == j) { // 主对角线元素之和
sum1 += a[i][j];
}
if(i + j == n - 1) { // 副对角线元素之和
sum2 += a[i][j];
}
if(i != j && i + j != n - 1) { // 非对角线元素之和
sum3 += a[i][j];
}
}
}
printf("主对角线元素之和:%d\n", sum1);
printf("副对角线元素之和:%d\n", sum2);
printf("非对角线元素之和:%d\n", sum3);
return 0;
}
```
代码中先读入矩阵的阶数和元素,然后分别计算主对角线元素之和、副对角线元素之和、非对角线元素之和,并输出结果。
在c语言中,输入正整数n(n<=6),再输入n阶方阵a,分别计算主对角线元之和,副对角线元素之和,非对角线元素之和
以下是一份C语言代码实现,可以实现输入正整数n(n<=6),再输入n阶方阵a,分别计算主对角线元之和,副对角线元素之和,非对角线元素之和:
```c
#include <stdio.h>
int main() {
int n, a[6][6], i, j, sum1 = 0, sum2 = 0, sum3 = 0;
printf("请输入n:");
scanf("%d", &n);
printf("请输入%d阶方阵:\n", n);
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
if (i == j) {
sum1 += a[i][j];
}
if (i + j == n - 1) {
sum2 += a[i][j];
}
if (i != j && i + j != n - 1) {
sum3 += a[i][j];
}
}
}
printf("主对角线元素之和为:%d\n", sum1);
printf("副对角线元素之和为:%d\n", sum2);
printf("非对角线元素之和为:%d\n", sum3);
return 0;
}
```
代码中,`a`数组存储了输入的方阵,`sum1`、`sum2`、`sum3`分别为主对角线元素之和、副对角线元素之和、非对角线元素之和。程序通过两个`if`语句分别计算了主对角线元素之和和副对角线元素之和,通过第三个`if`语句计算了非对角线元素之和。
阅读全文