如何用C语言编写一个简单的程序,让用户输入姓名并显示包含该姓名的爱心图案?
时间: 2024-11-13 16:28:15 浏览: 8
在C语言中,你可以使用标准库函数如`scanf`获取用户输入,然后结合循环结构和控制台输出,创建一个简单的程序来显示包含姓名的爱心图案。下面是一个例子:
```c
#include <stdio.h> // 包含输入输出函数
// 函数用来打印爱心字符数组
void print_heart(const char* name, char heart[][8]) {
int len = strlen(name);
for (int row = 0; row < 6; row++) { // 爱心有6行
for (int col = 0; col <= len + 1; col++) { // 每行有名字长度+两边空格的列数
switch (col) {
case 0: // 左侧边界
printf("*");
break;
case len + 2: // 右侧边界
printf("*");
break;
case 1: // 上下两条横线
if (row == 0 || row == 5)
printf("*");
else
printf(" ");
break;
default: // 中间的爱心部分
if (col <= len) // 判断是否在名字范围内
printf("%c", name[col - 1]); // 输出对应位置的名字字符
else
printf(heart[row][col - len - 1]); // 否则输出预定义的心形字符
}
printf("%c", row == 1 || row == 4 ? '*' : ' '); // 对角线
}
printf("\n"); // 换行
}
}
int main() {
char name[50];
printf("请输入你的姓名:\n");
scanf("%s", name); // 获取用户输入
// 定义爱心图案
static char heart[][8] = {
"****",
"* *",
"* *",
"* *",
"****"
};
print_heart(name, heart);
return 0;
}
```
当运行此程序时,会提示用户输入姓名,输入后会打印出一个包含姓名的心形图案。
阅读全文