我需要这个程序可以输入一个正整数n,使得生成n阶的地板
时间: 2024-10-29 09:12:27 浏览: 19
如果你想要编写一个可以接受用户输入并生成任意阶数“之”字形地板的程序,我们可以修改上述的C语言代码。首先,我们需要添加一个让用户输入阶数(n)的部分,并相应调整循环范围。下面是修改后的代码片段:
```c
#include <stdio.h>
#include <stdlib.h> // 引入用于获取用户输入的函数
// 更新定义,支持不同阶数
#define MAX_ROWS n
#define MAX_COLS n
int main() {
int n, i, j, k;
// 获取用户输入的阶数
printf("请输入地板的阶数(n): ");
scanf("%d", &n);
if (n <= 0) {
printf("输入错误,阶数必须大于0.\n");
return 1;
}
int grid[MAX_ROWS][MAX_COLS] = {0}; // 初始化全零矩阵
// 根据用户输入的阶数生成“之”字形
for (i = 0; i < MAX_ROWS; i++) {
for (j = 0, k = 1; j < MAX_COLS && k <= n * n; j++, k += 2) {
grid[i][j] = k;
}
if (i % 2 == 0) { // 当行数偶数时,继续向右填充
for (j++; j < MAX_COLS && k <= n * n; j++, k += 2) {
grid[i][j] = k;
}
}
}
// 打印网格
for (i = 0; i < MAX_ROWS; i++) {
for (j = 0; j < MAX_COLS; j++) {
printf("%d ", grid[i][j]);
}
printf("\n");
}
return 0;
}
```
现在你可以运行这个程序,输入所需的地板阶数,它将生成相应的“之”字形地板。
阅读全文