用c语言写一个可以加名字的爱心代码
时间: 2024-11-13 19:27:16 浏览: 24
在C语言中,编写一个简单的命令行程序来显示一个带名字的爱心形状并不复杂。这里是一个基础的例子,我们创建一个函数`print_heart(name)`,它接受一个名字作为参数并在屏幕上打印出爱心图案:
```c
#include <stdio.h>
#include <string.h>
void print_heart(char* name) {
const char heart[] = " *****
* *
* *
* *
***";
int len = strlen(name);
printf("\n");
for (int i = 0; i < len + 4; i++) {
// 打印爱心顶部和底部线
if (i == 0 || i == len + 3)
printf("*" repeat_string(len + 7, "*") "\n");
// 如果当前位置在名字范围内,则打印名字字符
else if (i >= len && i <= len + 2)
printf("%s", name);
// 否则打印空格
else
printf(" ");
// 打印爱心中间部分
printf(heart[i - 1]);
}
printf("\n");
}
// 宏函数用于重复字符串指定次数
#define repeat_string(str, times) str.repeat(times)
int main() {
char name[50];
printf("请输入你要显示名字:\n");
fgets(name, sizeof(name), stdin); // 防止换行符干扰输入
name[strcspn(name, "\n")] = '\0'; // 去除fgets读取到的换行符
print_heart(name);
return 0;
}
```
当你运行这个程序并输入名字后,它会显示出一个包含名字的爱心形状。注意这只是一个基本的示例,实际效果可能会受到终端宽度的限制。
阅读全文