方法一:打印多行星星
```c
include
int main() {
int rows = 5; // 设置星星行数
for (int i = 1; i <= rows; i++) {
// 打印空格
for (int j = 1; j <= rows - i; j++) {
printf(" ");
}
// 打印星星
for (int k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
// 换行
printf("\n");
}
return 0;
}
```
方法二:用户输入行数
```c
include
int main() {
int n;
printf("请输入图案的行数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
方法三:五角星
```c
include
int main() {
int size = 5; // 五角星的大小
for (int i = 1; i <= size; i++) {
for (int j = 1; j <= size - i; j++) {
printf(" ");
}
for (int j = i; j <= 2 * size - i; j++) {
if (i == 1 || i == size || j == i || j == 2 * size - i) {
printf("* ");
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
方法四:使用第三方图形库
```c
include include pragma comment(lib, "winmm.lib") struct Star { int x; int y; int r; int speed; COLORREF color; }; void initStar(int i) { star[i].x = rand() % 1500; star[i].y = rand() % 1000; star[i].r = rand() % 3 + 1; star[i].speed = rand() % 8 + 1; star[i].color = RGB(rand() % 256, rand() % 256, rand() % 256); } int main() { const int MAXSTAR = 300; struct Star star[MAXSTAR]; for (int i = 0; i < MAXSTAR; i++) { initStar(i); } // 游戏循环等其他代码 return 0; } ``` 这些代码示例展示了如何用C语言打印出不同形状和数量的星星。你可以根据自己的需求选择合适的方法进行修改和扩展。