AC代码:
#include <iostream>
#include <math.h>
using namespace std;
void cantor(int order)
{
if(order == 0)
cout << "-";
if(order == 1)
{
cout << "- -";
}
if(order >= 2)
{
int length = pow(3, order);
cantor(order - 1);
for(int i = 0;i<(length / 3);i++)
{
cout << " ";
}
cantor(order - 1);
}
}
int main()
{
int n = 0;
while(cin >> n)
{
cantor(n);
cout << endl;
}
return 0;
}
递归的思路,注意!!void函数的用法。
错误代码:
#include <iostream>
#include <math.h>
using namespace std;
void cantor(int order)
{
if(order == 0)
cout << "-";
if(order == 1)
{
cout << "- -";
}
if(order >= 2)
{
int length = pow(3, order);
cantor(order - 1);
for(int i = 0;i<(length / 3);i++)
{
cout << " ";
}
cout << cantor(order - 1);//错误!!
}
}
int main()
{
int n = 0;
while(cin >> n)
{
cout << cantor(n);//错误!!
cout << endl;
}
return 0;
}