打印以下图案 * *** ***** *******
时间: 2023-11-15 22:03:35 浏览: 86
这个图案是一个菱形,可以分成上半部分和下半部分分别处理。上半部分是从1到n-1行,每行的空格数是n-i,星号数是2i-1;下半部分是从n-1到1行,每行的空格数是i,星号数是2i-1。可以使用循环和print_sp函数来输出空格和星号,使程序更加简洁易读。下面是代码实现:
```
#include <stdio.h>
#include <stdlib.h>
void print_sp(int sp, int star);
int main() {
int n = 5; // 菱形的行数
int i = 0;
for (i = 1; i < n; i++) { // 上半部分
print_sp(n - i, 2 * i - 1); }
print_sp(0, 2 * n - 1); // 最中间一行
for (i = n - 1; i > 0; i--) { // 下半部分
print_sp(n - i, 2 * i - 1);
}
system("pause");
return 0;
}
void print_sp(int sp, int star) {
int i = 0;
for (i = 1; i <= sp; i++) { // 打印空格
printf(" ");
}
for (i = 1; i <= star; i++) { // 打印星号
printf("*");
}
printf("\n");
}
```