我想在名字前后打印一个用户输入的名字和一些明星(也是输入)

时间:2017-01-25 10:54:36

标签: c string c-strings

我想在名称之前和之后打印明星,例如****Johannah****

没有使用“for”循环,使用完整和完整的逻辑。

用户应输入要打印的星数,然后星号应在代码中的名称前后作为输出。

例如:“输入名称:Johannah。
输入名称前后要打印的星数:5 姓名:*****Johannah*****

请帮忙。感谢。

1 个答案:

答案 0 :(得分:1)

你可以先这样做一个char数组,包含要求打印的最大星数。

 char stars[] = "***************************************";

然后询问用户输入他们想要打印的星星数量。

 int a;
 printf("Enter Number of Stars You Want To Print : ");
 scanf("%d" , &a);

然后使用

打印
 printf("%.*s\n" , a , stars);

基本上发生的是您使用%.*s设置可变宽度,此处*正在使用a,例如,如果a = 5则原来是%.5s然后打印字符串的第一个5个字符。

这里的问题是你应该知道要求打印的最大星数,以便你可以根据需要初始化角色阵列。

请参阅这些问题以了解更多信息How to print only certain parts of a string?Set variable text column width in printf

如果某人拒绝投票,请在评论部分告诉我您为什么这样做,以便我可以改进。