看书到递归,递归太难了呀半天没做出来
c语言吧
全部回复
仅看楼主
level 2
Ypluto℃ 楼主
看书到递归,递归太难了呀[泪]
半天没做出来
2020年01月26日 14点01分 1
吧务
level 14
void print(int n)
{
int i;
static int space = 0;
for (i=0; i<space; i++)
putchar(' ');
space++;
for (i=0; i<2*n-1; i++)
putchar('*');
putchar('\n');
if (n>1)
print(n-1);
}
2020年01月26日 15点01分 2
感谢[哈哈]
2020年01月27日 05点01分
一次性函数?[黑线]调第二次开始结果就不一样了
2020年01月27日 06点01分
level 11
中间对齐?怕是没这么简单……
2020年01月26日 15点01分 3
level 11
我怀疑得新搞一个函数p2接受两个参数,一个是第一行开头的空格数,一个是n。然后print(n)就是p2(0,n)
2020年01月26日 15点01分 4
level 11
p2(m,n)输出完了第一行以后调用个p2(m+1,n-1)
2020年01月26日 15点01分 5
level 15
2020年01月27日 06点01分 6
第二次开始格式就往右边跑了
2020年01月27日 06点01分
@Bubblºe 我测试并没有。见下面的图。
2020年01月27日 07点01分
看错了[哈哈],没注意后面又减回去了
2020年01月27日 07点01分
level 14
#include<stdio.h>
void print(int n)
{
static int k=0;
for(int i=0;i<k;i++)
printf(" ");
k++;
for(int i=0;i<n*2-1;i++)
printf("*");
printf("\n");
if(n==1)
{
k=0;
return;
}
print(n-1);
}
int main()
{
print(10);
print(9);
print(8);
return 0;
}
2020年01月27日 07点01分 7
level 15
2020年01月27日 07点01分 8
level 5
#include <iostream>
const char Icon = '*';
const char Blank = ' ';
void pr(int n, char c) {
while (n-- > 0)
std::cout << c;
}
void print(int n) {
static int line = 0;
pr(line, Blank);
pr(n, Icon);
std::cout << '\n';
if (n >= 3) {
n -= 2; ++line;
print(n);
}
line = 0;
}
int main()
{
int lines;
std::cout << "输入行数: ";
while (std::cin >> lines && lines > 0) {
print(1 + 2 * (lines - 1));
std::cout << "输入行数(q退出): ";
}
system("pause");
return 0;
}
2020年01月27日 10点01分 9
level 5
递归太简单了真的
2020年01月28日 09点01分 10
[乖]
2020年01月28日 14点01分
level 5
2020年01月28日 17点01分 12
1