用C语言打印出上下叠加的两个空心菱形
时间: 2024-10-21 10:09:38 浏览: 32
在C语言中,我们可以使用嵌套循环来打印出上下叠加的两个空心菱形。下面是一个简单的示例,我们首先打印大菱形,然后在其内部打印小菱形:
```c
#include <stdio.h>
void print_upper_triangle(int size) {
for (int i = 0; i < size; ++i) {
// 打印上半部分的空格
for (int j = size - i - 1; j > 0; --j)
printf(" ");
// 打印星号
for (int k = 0; k <= 2 * i; ++k)
printf("*");
printf("\n");
}
}
void print_lower_triangle(int size) {
for (int i = size - 2; i >= 0; --i) {
// 打印下半部分的空格
for (int j = i + 1; j < size; ++j)
printf(" ");
// 打印星号
for (int k = 0; k <= 2 * i; ++k)
printf("*");
printf("\n");
}
}
int main() {
int size = 5;
// 打印大菱形
print_upper_triangle(size);
// 空一行
printf("\n");
// 打印小菱形
print_lower_triangle(size - 2); // 减去2是为了让内部的小菱形中心对齐
return 0;
}
```
当你运行这个程序,它会打印出如下所示的菱形:
```
*
***
*****
*******
*********
***********
*
***
*****
*******
```
阅读全文