//
void print1ToMaxOfNDigits (int n) //打印1-n位最大的值。
{
if(n==0) return ;
char *number =new char [n+1];
number[n]='0';
for(int i=0;i<10;++i)
{
number[0]=i+‘0’;//第一位从0开始放
print1ToMaxOfNDigitsRecursively(number,n,0);//从第一位开始放数。
}
delete [] number;//内存泄露
}
void print1ToMaxOfNDigitsRecursively(char *number ,int length ,int n)
{
if(n==length-1)
{
printNumber(number);//printNumber函数:不打印出前面多余的0
return ;//注意
} //打印出来
for(int j=0;j<10;++j)
{
number[n+1]=j+‘0’;//每一位都是放0-9上面。
print1ToMaxOfNDigitsRecursively(number,length,n+1);
}
}