输入n×n阶的矩阵(用二维数组存放C语言编写
时间: 2024-02-25 08:52:47 浏览: 29
好的,我可以帮你编写一个输入n×n阶矩阵的程序,使用二维数组存储。以下是示例代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入矩阵的阶数n:");
scanf("%d", &n);
int matrix[n][n];
printf("请输入矩阵的元素:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
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定义一个n×n的二维数组matrix。接下来程序会提示用户输入矩阵的元素,使用两个for循环遍历每个元素并存储到matrix中。最后程序会输出用户输入的矩阵。
注意,该程序没有对用户的输入进行任何错误处理,如输入非数字字符等,需要根据实际需求进行修改。
相关问题
用c语言编写一个程序,输入两个M行N列的矩阵分别存放到二维数组A和B,并将两矩阵相加的结果存放到二维数组C后输出
好的,下面是用C语言编写的程序,实现输入两个M行N列的矩阵A和B,将它们相加的结果存放到矩阵C中,并输出结果:
```c
#include <stdio.h>
#define M 3
#define N 3
int main() {
int A[M][N], B[M][N], C[M][N];
int i, j;
// 输入矩阵A
printf("请输入矩阵A:\n");
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
scanf("%d", &A[i][j]);
}
}
// 输入矩阵B
printf("请输入矩阵B:\n");
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
scanf("%d", &B[i][j]);
}
}
// 矩阵相加
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
C[i][j] = A[i][j] + B[i][j];
}
}
// 输出结果
printf("矩阵A和矩阵B相加的结果为:\n");
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
return 0;
}
```
上述代码中,我们使用了三个二维数组A、B和C来存储输入的矩阵和相加的结果。首先,我们通过两个循环,分别输入矩阵A和B的每个元素。然后,我们使用另外两个循环,将矩阵A和B的对应元素相加,存储到矩阵C中。最后,我们再使用两个循环,输出矩阵C的每个元素。
这个程序可以处理任意大小的M行N列的矩阵相加。
输入n×n阶的矩阵(用二维数组存放,n<=10),编程计算:(1)两条对角线上的各元素之和。(2)两条对角线上行、列下标均为偶数的各元素之积。C语言编写
好的,请见以下 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入矩阵阶数n(n<=10):");
scanf("%d", &n);
int matrix[10][10];
printf("请输入矩阵元素:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算对角线之和
int sum1 = 0, sum2 = 0;
for (int i = 0; i < n; i++) {
sum1 += matrix[i][i]; // 左上-右下对角线
sum2 += matrix[i][n-i-1]; // 右上-左下对角线
}
printf("对角线上的元素之和为 %d\n", sum1+sum2);
// 计算对角线上行、列下标均为偶数的元素之积
int product = 1;
for (int i = 0; i < n; i += 2) {
if (i == n-i-1) { // 如果是对角线上的元素
product *= matrix[i][i];
} else {
product *= matrix[i][i] * matrix[i][n-i-1] * matrix[n-i-1][i] * matrix[n-i-1][n-i-1];
}
}
printf("对角线上行、列下标均为偶数的元素之积为 %d\n", product);
return 0;
}
```
注意,如果您想要使用中文的话,需要将代码文件的编码格式设置为 UTF-8。