C语言绘制六边形:代码示例和解释
以下是一个使用嵌套循环打印六边形的 C 程序:
#include <stdio.h>
int main() {
int rows;
printf("请输入要打印的行数:");
scanf("%d", &rows);
// 打印上半部分
for (int i = 1; i <= rows; i++) {
// 打印空格
for (int j = 1; j <= rows - i; j++) {
printf(" ");
}
// 打印星号
for (int k = 1; k <= i * 2 - 1; k++) {
printf("*");
}
printf("\n");
}
// 打印下半部分
for (int i = rows - 1; i >= 1; i--) {
// 打印空格
for (int j = 1; j <= rows - i; j++) {
printf(" ");
}
// 打印星号
for (int k = 1; k <= i * 2 - 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
程序首先提示用户输入要打印的行数,然后使用嵌套循环打印六边形。外层循环从 1 开始递增,内层循环在每一行中打印相应数量的空格和星号。打印上半部分时,空格数量从最大值开始递减,星号数量从 1 开始递增;打印下半部分时,空格数量从 1 开始递增,星号数量从最大值开始递减。最后,程序在每行末尾输出一个换行符,以便下一行能够顺利打印。
注意: 如果程序运行出来不是你想要的六边形,可能是因为你输入的行数不够或者太多了。你可以尝试调整输入的行数,看看能否得到你想要的六边形。如果还是不行,你可以检查一下程序中的循环条件和计算公式是否正确,或者尝试修改一下程序中的打印字符。
原文地址: https://www.cveoy.top/t/topic/jBaX 著作权归作者所有。请勿转载和采集!