如何用C语言打印空心菱形?
时间: 2025-01-23 21:13:03 浏览: 18
在C语言中,打印空心菱形可以通过嵌套循环和条件判断来实现。以下是一个示例代码,展示了如何打印一个空心菱形:
#include <stdio.h>
int main() {
int n, i, j, space;
printf("请输入菱形的行数(奇数):");
scanf("%d", &n);
// 确保行数为奇数
if (n % 2 == 0) {
n++;
printf("行数调整为:%d\n", n);
}
space = n / 2;
// 上半部分
for (i = 1; i <= n / 2 + 1; i++) {
for (j = 1; j <= space; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
if (j == 1 || j == 2 * i - 1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
space--;
}
space = 1;
// 下半部分
for (i = n / 2; i >= 1; i--) {
for (j = 1; j <= space; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
if (j == 1 || j == 2 * i - 1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
space++;
}
return 0;
}
这个程序的工作原理如下:
- 用户输入菱形的行数(必须是奇数)。
- 计算上半部分和下半部分的空格数和星号数。
- 使用嵌套循环打印上半部分的每一行。
- 使用嵌套循环打印下半部分的每一行。
通过这种方式,可以打印出一个空心菱形。
相关推荐
















