//Increment为数字递增函数<pre name="code" class="cpp">//PrintNum为数字输出函数
<pre name="code" class="cpp">
#include <iostream>
using namespace std;
bool Increment(char *number)
{
bool isOverFlow = false;
int nTakeOver = 0;
int nlength = strlen(number);
for (int i =nlength-1; i>=0; i--)
{
int nsum = number[i] - '0' + nTakeOver;
if (i == nlength-1)
nsum++;
if (nsum>=10)
{
if (i==0)
{
isOverFlow = true;
break;
}
else
{
nsum -= 10;
nTakeOver = 1;
number[i] = nsum + '0';
}
}
else
{
number[i] = nsum + '0';
break;
}
}
return isOverFlow;
}
void PrintNum(char *number)
{
bool isBegin = false;
int nlength = strlen(number);
for (int i= 0; i < nlength; i++)
{
if (number[i]!='0')
{
isBegin = true;
}
if (isBegin)
{
printf("%c",number[i]);
}
}
printf("\t");
}
void Print1ToMax(int n)
{
if (n <= 0)return;
char *number = new char[n + 1];
memset(number,'0',n);
number[n] = '\0';
while (!Increment(number))
{
PrintNum(number);
}
delete[]number;
}
int main()
{
int a = 3;
Print1ToMax(a);
return 0;
}