用C语言输出如下星形图案: (采用两种方法输出: 1. 仅使用%c格式符。 2. 用到%s格式符。) ***** ***** ***** ***** *****
时间: 2024-06-19 10:00:58 浏览: 72
要使用C语言输出星形图案,我们可以分别采用`%c`和`%s`格式符来实现。这里给出两个方法:
**方法一:仅使用`%c`格式符**
```c
#include <stdio.h>
int main() {
int rows = 5, spaces;
for (int i = 0; i < rows; ++i) {
spaces = rows - i - 1;
printf("*");
for (int j = 0; j < spaces; ++j)
printf(" ");
printf("*\n");
}
return 0;
}
```
在这个方法中,我们首先打印一个星号,然后添加适当的空格,最后再次打印星号,重复这个过程直到达到所需行数。
**方法二:用到`%s`格式符**
```c
#include <stdio.h>
#include <string.h>
void print_star_row(int row) {
char star_row[row + 1];
strcpy(star_row, "*");
int space_count = row - 1;
for (int i = 1; i < row; ++i) {
star_row[i] = ' ';
star_row[i + space_count + 1] = '*';
}
star_row[row] = '\0'; // 结尾添加空字符
printf("%s\n", star_row);
}
int main() {
for (int i = 0; i < 5; ++i)
print_star_row(i + 1);
return 0;
}
```
在这个方法中,我们创建了一个字符串数组`star_row`,并逐行填充星号和空格,最后使用`printf("%s\n", star_row)`输出整个字符串。
阅读全文