求N*N的方阵对角线之和。N由键盘输入c语言
时间: 2024-05-29 08:11:25 浏览: 70
实现如下:
#include <stdio.h>
int main() {
int n, i, j, sum = 0;
printf("请输入方阵的维度:");
scanf("%d", &n);
int matrix[n][n];
printf("请按行顺序输入矩阵元素:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
for (i = 0; i < n; i++) {
sum += matrix[i][i];
}
printf("对角线之和为:%d\n", sum);
return 0;
}
相关问题
求N*N的方阵两条对角线之和。N由键盘输入c语言
实现如下:
```c
#include <stdio.h>
int main() {
int n, i, j, sum1 = 0, sum2 = 0;
printf("请输入方阵的阶数:");
scanf("%d", &n);
int a[n][n];
printf("请输入方阵元素:\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]; // 副对角线元素之和
}
}
}
printf("主对角线元素之和:%d\n", sum1);
printf("副对角线元素之和:%d\n", sum2);
return 0;
}
```
运行结果示例:
```
请输入方阵的阶数:4
请输入方阵元素:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
主对角线元素之和:34
副对角线元素之和:32
```
编程产生一个N×N的方阵,要求该方阵副对角线上的元素均为2,其余元素均为0,输出该方阵,N的大小从键盘输入。c语言
以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入方阵的大小N:");
scanf("%d", &n);
int matrix[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == n - j - 1) {
matrix[i][j] = 2;
} else {
matrix[i][j] = 0;
}
}
}
printf("生成的方阵为:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
运行程序后,输入方阵的大小N,即可输出生成的方阵。例如,当N等于5时,输出的结果为:
```
请输入方阵的大小N:5
生成的方阵为:
0 0 0 0 2
0 0 0 2 0
0 0 2 0 0
0 2 0 0 0
2 0 0 0 0
```
阅读全文