6、利用字符数组和for循环编写程序,输出以下图案: * * * * * * * * * * * * * * * * * * * * * * * * *
时间: 2024-12-29 15:26:14 浏览: 5
### 使用字符数组和for循环打印特定图案
为了实现使用字符数组和`for`循环打印指定图案的功能,在C语言中可以通过定义二维字符数组并利用嵌套的`for`循环来控制输出位置上的字符。下面展示一段能够满足需求的代码示例:
```c
#include <stdio.h>
void printPattern(int rows, int cols) {
char pattern[rows][cols];
// 初始化模式矩阵,默认填充为空格
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
pattern[i][j] = ' ';
}
}
// 设置边界为星号(*),内部保持空格
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
if (i == 0 || i == rows - 1 || j == 0 || j == cols - 1) {
pattern[i][j] = '*';
}
}
}
// 输出最终形成的图案
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
printf("%c ", pattern[i][j]);
}
printf("\n");
}
}
int main() {
int rowSize = 5;
int colSize = 10;
printPattern(rowSize, colSize);
return 0;
}
```
上述代码创建了一个具有给定行列大小的矩形框状图形,其中边缘由星号(`*`)组成而中心部分则留白[^1]。
对于想要打印完全由星号组成的实心方块的情况,则不需要区分内外部区域,只需简单地遍历整个范围并将每个元素设置成星号即可:
```c
// 修改printPattern函数中的内层逻辑如下:
for (int i = 0; i < rows; ++i){
for (int j = 0; j < cols; ++j){
pattern[i][j] = '*'; // 直接赋值为'*'
}
}
```
这样修改之后就能得到一个全部由星号构成的实心矩形图案。
阅读全文