剑指OFFER 面试题12题:打印1到n位的所有整数;
void printNumber(char* number){
bool isBegining = true;
int len = strlen(number);
for(int i=0;i<len;i++){
if(isBegining && number[i]!='0'){
isBegining = false;
}
if(!isBegining){
printf("%c",number[i]);
}
}
printf("\t");
}
void Print1ToMaxOfNDigits(int n){
if(n<=0)return;
if(n<10){//10位以下直接打印数值即可;这个10是根据机器int表示范围取得;
int sn=1;
for(int i=0;i<n;i++){
sn=sn*10;
}
for(int i=1;i<sn;i++){
printf("%i\t",i);
}
printf("n<10\t");
return;
}
char *number = new char[n+1];
memset(number, '0', n);
number[n]='\0';
int t = n-1;
while(number[0]<='9'&&number[0]>='0'){
number[t]++; //只在最后一