我这样做,但它使用的是for
环形。我不想要它:
#include <stdio.h>
void printPattern(int n);
int main()
{
int n = 4;
printPattern(n);
return 0;
}
void printPattern(int n)
{
if (n == 1)
{
printf("*\n");
return;
}
printPattern(n - 1);
for (int i = 0; i < (2 * n - 1); i++)
{
printf("* ");
}
printf("\n");
}
这是输出:
*
* * *
* * * * *
* * * * * * *
我不希望我的代码中有任何循环,例如for
循环,一个do
/while
循环或一个while
loop.
你可以替换这个:
for(int i=0;i< (2*n-1);i++)
{
printf("* ");
}
通过调用此函数(未测试):
void print_asterisk(int amount)
{
if (amount == 0)
return;
else
{
print ("**");
print_asterisk(amount - 1);
}
}
像这样,您已经用递归调用替换了 for 循环。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)