在C语言中,可以使用嵌套循环和字符打印来绘制五角星。以下是几种不同的方法:
方法一:基本循环
```c
include
int main() {
int size = 5; // 五角星的大小
int i, j;
for (i = 1; i <= size; i++) {
for (j = 1; j <= size - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
for (i = size - 1; i >= 1; i--) {
for (j = 1; j <= size - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
方法二:使用函数
```c
include
void drawStar(int size) {
int i, j;
for (i = 0; i < size; i++) {
for (j = 0; j < size - i - 1; j++) {
printf(" ");
}
for (j = 0; j < 2 * i + 1; j++) {
printf("*");
}
printf("\n");
}
for (i = size - 1; i >= 0; i--) {
for (j = 0; j < size - i - 1; j++) {
printf(" ");
}
for (j = 0; j < 2 * i + 1; j++) {
printf("*");
}
printf("\n");
}
}
int main() {
int size;
printf("请输入五角星的大小: ");
scanf("%d", &size);
drawStar(size);
return 0;
}
```
方法三:数学方法
```c
include include void draw_star(int scale) { int i, end = rint(scale * sin(M_PI / 5)); for (i = 0; i <= end; ++i) { int y1 = rint(scale * tan(M_PI / 5) * i); int y2 = rint(scale * tan(M_PI / 5) * (i + 1)); for (int j = 0; j < scale - y1; j++) { printf(" "); } for (int j = 0; j < 2 * i + 1; j++) { printf("*"); } printf("\n"); } for (i = end - 1; i >= 0; i--) { int y1 = rint(scale * tan(M_PI / 5) * i); int y2 = rint(scale * tan(M_PI / 5) * (i + 1)); for (int j = 0; j < scale - y2; j++) { printf(" "); } for (int j = 0; j < 2 * i + 1; j++) { printf("*"); } printf("\n"); } } int main() { int scale; printf("请输入五角星的大小: "); scanf("%d", &scale); draw_star(scale); return 0; } ``` 这些代码示例展示了如何在C语言中绘制五角星。你可以根据需要调整五角星的大小和样式。