c语言打空心菱形带解析
时间: 2024-10-13 08:09:30 浏览: 5
在 C 语言中,打印空心菱形通常使用嵌套循环结合条件判断来实现。下面是一个简单的示例,展示了如何打印一个小的空心菱形:
```c
#include <stdio.h>
void printDiamond(int n) {
int space = n - 1; // 空格的数量
// 上半部分菱形的循环
for (int i = 0; i <= n; i++) {
for (int j = 0; j < space; j++) { // 打印空格
printf(" ");
}
if (i == 0 || i == n) { // 第一行和最后一行全打印*
for (int k = 0; k < 2 * i - 1; k++) { // 星号的数量
printf("*");
}
printf("\n"); // 换行
} else { // 中间的星号和空格交替
for (int k = 0; k < i; k++) {
printf("* ");
}
printf("\n"); // 换行
}
space--; // 空格数量递减
}
// 下半部分菱形的循环(反转方向)
space = 0;
for (int i = n - 1; i >= 0; i--) {
for (int j = 0; j < space; j++) {
printf(" ");
}
if (i == n - 1 || i == 0) {
for (int k = 0; k < 2 * i - 1; k++) {
printf("*");
}
printf("\n");
} else {
for (int k = 0; k < i; k++) {
printf("* ");
}
printf("\n");
}
space++;
}
}
int main() {
int size;
printf("请输入菱形大小:");
scanf("%d", &size);
printDiamond(size);
return 0;
}
```
阅读全文