我正在制作一个让你输入你的名字的程序,然后程序将它放入一个正方形。例如,对于输入"Zyad"
,我期望输出:
********
| |
| Zyad |
| |
********
现在我希望能够输入两个名字(例如名字和姓氏)并获得相同类型的输出。
"Zyad Sabry"
的输入会产生
**************
| |
| Zyad Sabry |
| |
**************
我的代码:
scanf("%s",name);
n = strlen(name);
printf(" ");
for(i=0;i<n+4;i++)
printf("*");
printf("\n");
printf("|");
for(i=0;i<n+4;i++)
printf(" ");
printf("|");
printf("\n");
printf("|");
for(i=0;i<(n+4)-n-2;i++)
printf(" ");
printf("%s |");
printf("\n");
printf("|");
for(i=0;i<n+4;i++)
printf(" ");
printf("|");
printf("\n");
printf(" ");
for(i=0;i<n+4;i++)
printf("*");
答案 0 :(得分:0)
当你有一个字符数组如下
char name[500];
您可以输入包含除\n
之外的任何字符的字符串,如下所示
int i;
for(i=0;(name[i]=getchar())!='\n';i++);
name[i]='\0'; //null termination
假设数组的长度足以存储名称。