任意输入一个字符,然后用printf语句输出由这个字符组成的心形图形
时间: 2024-09-25 07:13:13 浏览: 62
当然可以。在C语言中,我们可以利用循环结构和条件判断来创建一个由特定字符组成的简单心形图形。假设你想用字符'*'来绘制,以下是一个基础的示例:
```c
#include <stdio.h>
void print_heart(char ch) {
int rows = 5; // 心形的行数
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
printf(" "); // 打印空格,形成中间空白部分
}
// 每行开始和结束的 '*' 字符
printf("* ");
for (int k = 1; k <= 2 * i - 1; k++) {
printf(ch); // 绘制上半部分的心形
}
for (int k = 1; k <= i - 1; k++) {
printf(ch); // 绘制下半部分的心形
}
printf("\n"); // 换行
}
// 最外层的 '*'
for (int j = 1; j <= rows; j++) {
printf("*\n");
}
}
int main() {
char user_input;
printf("请输入一个字符(默认*): ");
scanf(" %c", &user_input); // 读取用户输入,忽略前导空格
if (user_input == '\n') { // 如果用户直接按回车,则使用默认字符*
user_input = '*';
}
print_heart(user_input);
return 0;
}
```
当你运行这个程序并输入一个字符时,它会打印出一个由该字符组成的心形。如果用户只按了回车键,将使用'*'作为默认字符。
阅读全文