我正在尝试不同的活动,因为我是初学者,想要了解更多。我正在尝试在我的代码所在的同一行打印一个模式:
int main()
{
int numOfWiggles;
int count;
printf("Enter number of wiggles: ");
scanf("%d", &numOfWiggles);
printf("_");
for (count=1; count<=numOfWiggles; count++)
{
printf("/\\ \n \\/ \r");
}
printf("-");
}
已编辑。
但是我不希望将它们放在新的一行上,而是希望模式只延伸到同一行。我知道这是因为\n
,但我不知道如何在同一条线上完成所有操作。
答案 0 :(得分:1)
你可以把它分为上下两部分 打印上半部分使用:
for (count=1; count<=numOfWiggles; count++)
{
printf("/\\ "); //this will print /\ /\ /\
}
printf("\n "); // go to next line
打印下半部分使用:
for (count=1; count<=numOfWiggles; count++)
{
if(count == numOfWiggles)
printf(" \\/"); // this will print last \/ without space at the end
else
printf(" \\/ "); // this will print \/ \/ \/
}
您正在使用'\ n',它会将光标位置移到下一行并从下一行开始打印,这是问题所在。
答案 1 :(得分:0)
您正在寻找的结果实际上是两条不同线路上两次打印的结果。您可以使用缓冲区在相同的循环中构造字符串,或者只使用两个循环。
for (count = 0; count < numOfWiggles; count++)
{
If (count == 0)
Printf ("_/\");
Else
Printf (" /\");
Printf (" _/n");
}
for (count = 0; count < numOfWiggles; count++)
{
If (count == 0)
Printf (" \/");
Else
Printf (" \/");
Printf ("/n");
}