用c语言 题目描述 构造 n 阶下三角矩阵。即对角线上方元素值为 0,其余元素值如样例所示。 要求:使用二维数组实现。 输入格式: 输入整数 n(1<n<=20)。 输出格式: 输出 n×n 的矩阵,共 n 行,每行 n 个元素,每个元素 4 格,右对齐。 输入样例: 3 输出样例: 1 0 0 2 3 0 4 5 6 输入样例: 4 输出样例: 1 0 0 0 2 3 0 0 4 5 6 0 7 8 9 10
时间: 2024-04-28 08:27:20 浏览: 89
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int matrix[n][n];
int num = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (j <= i) {
matrix[i][j] = num++;
} else {
matrix[i][j] = 0;
}
printf("%4d", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
代码思路:
1. 读入矩阵的阶数 n。
2. 定义一个 n×n 的二维数组 matrix 存储矩阵。
3. 定义一个变量 num,其初始值为 1,表示矩阵中第一个元素的值。
4. 循环遍历每个矩阵元素,如果该元素在对角线及其下方,赋值为 num,同时 num 的值加 1;否则赋值为 0。
5. 使用 printf 函数以每个元素占 4 列的方式输出矩阵,每行末尾换行。
运行结果示例:
输入:
```
3
```
输出:
```
1 0 0
2 3 0
4 5 6
```
输入:
```
4
```
输出:
```
1 0 0 0
2 3 0 0
4 5 6 0
7 8 9 10
```
阅读全文