题目描述
动态数组存放了一些个位数字(正数),组成一个大数。将这个数加1。
例如:
A = [2,3,1,1,4],
return [2,3,1,1,5]
A = [7,8,9],
return [7,9,0].
输入描述
第一行输入一个正整数n,接下来的一行,输入数组A[n](每一位都是正数且为个位数)。
输出描述
最后输出新的数组。
输入样例
5 8 9 9 9 9
输出样例
9 0 0 0 0
测试代码
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() { 5 int n, i, flag = 1; 6 scanf("%d", &n); 7 int *arr = (int *) malloc((n + 1) * sizeof(int *)); 8 for (i = 1; i <= n; i++) { 9 scanf("%d", arr + i); 10 } 11 for (i = n; i > 0; i--) { 12 if (flag) { 13 arr[i] += flag; 14 flag = 0; 15 } 16 if (arr[i] == 10) { 17 arr[i] -= 10; 18 flag = 1; 19 } 20 } 21 arr[0] = flag; 22 for (i = !flag; i <= n; i++) { 23 printf("%d ", arr[i]); 24 } 25 printf("\n"); 26 free(arr); 27 return 0; 28 }