c++日常练习(13)-----数组加一

题目:给定一个数字由整数数组组成的非空数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位,数组中每个元素只存储单个数字。

例如:输入digits=[1,2,3]

输出:[1,2,4]

输入digits=[4,3,2,1]

输出:[4,3,2,2]

提示:1<=digits.length<=100;

0<=digits[i]<=9;


对于这一题的思路:我们只需要把数字一一输入到数组中,并且加一即可。唯一注意的是:数字的进位。

#include
using namespace std;
#define NUM 10
void Arr(int *a, int b)
{
	if (a[b] != 9)
	{
		a[b] += 1;
	}
	else
	{
		a[b] = 0;
		Arr(a, b - 1);
	}
}
int main(void)
{
	int x = 0;
	int arr[NUM] = {};
	cin >> *arr;
	while (arr[x])
	{
		x++;
	}
	Arr(arr, x - 1);
	cout << *arr;
	system("pause");
}

你可能感兴趣的:(练习,c++,学习)