用C语言输入n,在一个二维数组中形成并输出如下所示的n*n矩阵(假定n<=6) 输入 输入n的值(如6) 输出 1 1 1 1 1 1 1 2 2 2 2 1 1 2 3 3 2 1 1 2 3 3 2 1 1 2 2 2 2 1 1 1 1 1 1 1 样例输入 复制 6
时间: 2023-12-03 18:02:48 浏览: 104
下面是用 C 语言实现输入 n 并输出 n*n 矩阵的代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int matrix[6][6] = {0}; // 二维数组初始化为0
int num = 1;
int row = 0, col = n - 1; // 从右上角开始填充
while (num <= n * n) {
matrix[row][col] = num++;
if (row + 1 < n && col + 1 < n && matrix[row+1][col+1] == 0) {
// 向右下方走
row++;
col++;
} else if (row + 1 < n && matrix[row+1][col] == 0) {
// 向下方走
row++;
} else {
// 向右方走
col--;
}
}
// 输出矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
示例输入:
```
6
```
示例输出:
```
1 1 1 1 1 1
2 2 2 2 1 1
3 3 3 2 1 1
4 4 2 2 2 1
5 5 5 5 5 1
6 6 6 6 6 6
```
阅读全文