用c语言编写一个代码,输入一个正整数n和n阶矩阵的数值,打印输出矩阵、下三角和上三角的数值
时间: 2024-10-06 07:01:27 浏览: 70
在C语言中,我们可以创建一个函数来读取用户输入的正整数`n`和矩阵元素,然后分别打印出整个矩阵、下三角和上三角的数值。这里我们假设输入的矩阵是一个对角线对称的方阵。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义一个结构体表示矩阵
typedef struct {
int rows;
int cols;
int matrix[100][100]; // 假设最多100x100矩阵
} Matrix;
void printMatrix(Matrix m) {
printf("矩阵:\n");
for (int i = 0; i < m.rows; i++) {
for (int j = 0; j < m.cols; j++) {
printf("%d ", m.matrix[i][j]);
}
printf("\n");
}
}
void printLowerTriangle(Matrix m) {
printf("下三角:\n");
for (int i = 0; i < m.rows; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", m.matrix[i][j]);
}
printf("\n");
}
}
void printUpperTriangle(Matrix m) {
printf("上三角:\n");
for (int i = 0; i < m.rows; i++) {
for (int j = 0; j < i; j++) {
printf("%d ", m.matrix[i][j]);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入正整数n: ");
scanf("%d", &n);
Matrix m = {n, n};
// 填充矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &m.matrix[i][j]);
}
}
printMatrix(m);
printLowerTriangle(m);
printUpperTriangle(m);
return 0;
}
```
阅读全文