描述
Given a number represented as an array of digits, plus one to the number.
#include<iostream>
using namespace std;
int PlusOne(int a[], int n)
{
if (a == NULL || n <= 0)
return 0;
int flag = 1;
for (int i = n-1; i >=0; i--)
{
a[i] +=flag;
if (a[i] >= 10)
{
a[i] -= 10;
flag = 1;
}
else
{
flag = 0;
break;
}
}
return flag;
}
int main()
{
const int n = 6;
int a[n] = { 9, 9, 9, 9, 9,8 };
int flag = PlusOne(a, n);
if (flag != 0)
{
cout << flag << " ";
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
}
else
{
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
}
}