请教C语言高手

2025-03-05 04:38:31
推荐回答(3个)
回答1:

#includevoid main(){ int i,k=0; char name[25]; scanf("%s",name); printf("\"%s\"\n",name); printf("\'%20s\'\n",name);//20为定义输出的最少宽度,如果数组实际宽度超出20就自动增加 printf("\'%-20s\'\n",name);//-表示左对齐,不加-,系统默认右对齐 printf("%-s~~~\n",name);//~表示空格 }

回答2:

#includemain(){char name[25],*p=name;scanf("%s",name);printf("/"%s/"/n",name);printf("/'%20s/'/n",name);printf("/'%-20s/'/n",name); }

回答3:

#include
#include
int main()
{
int k_1, k_2, k_3; //k表示宽度
char m[10], x[10]; //m表示名,x表示姓。这里定义10的宽度,是为了节约空间
printf("Please enter your \"ming\": ");
scanf("%s", m);
printf("Please enter your \"xing\": ");
scanf("%s", x);
printf("\"%s %s\"\n", m, x);
k_1 = 20 - strlen(x) - 1;
printf("\"%*s %s\"\n", k_1, m, x);
k_2 = 20 - strlen(m) - 1;
printf("\"%-s %-*s\"\n", m, k_2, x);
k_3 = strlen(m) + 3;
printf("\"%*s %s\"\n", k_3, m, x);
return 0;
}
以上是个人的想法。这和别处查找出来参考答案都不一样,但我认为这才是正确答案。
望采纳,谢谢!