在C语言中,打印沙漏形状可以通过控制循环和条件语句来实现。以下是一个简单的示例代码,用于打印出一个旋转的沙漏形状:
```c
include
int main() {
int n;
char c;
printf("请输入一个正整数:");
scanf("%d %c", &n, &c);
// 打印上半部分
for (int i = 1; i <= n / 2; i++) {
// 打印空格
for (int j = 1; j <= n / 2 - i; j++) {
printf(" ");
}
// 打印星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("%c", c);
}
printf("\n");
}
// 打印下半部分
for (int i = n / 2; i >= 1; i--) {
// 打印空格
for (int j = 1; j <= n / 2 - i; j++) {
printf(" ");
}
// 打印星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("%c", c);
}
printf("\n");
}
return 0;
}
```
代码解释:
输入部分
提示用户输入一个正整数 `n` 和一个字符 `c`,用于指定沙漏的形状。
打印上半部分
使用两个嵌套的 `for` 循环来打印空格和星号。
外层循环控制行数,内层循环分别打印空格和星号。
打印下半部分
与上半部分类似,但行数从 `n / 2` 开始递减到 1。
示例输出:
如果输入 `n = 5` 和 `c = '*'`,输出将会是:
```
*
*
*
*
*
*
*
*
*
```
这个代码可以根据用户输入的 `n` 和 `c` 打印出相应的沙漏形状。你可以根据需要修改和扩展这个代码。