动态数组存放了一些个位数字(正数),组成一个大数。将这个数加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
C语言代码:
#include<stdio.h>
int main()
{
int n;
int array[1000]={0};
int i=1;
scanf("%d",&n);
for(i;i<n+1;i++)
scanf("%d",&array[i]);
//i-1操作指向数组最后一个元素
i=i-1;
//最后一个元素+1
array[i]=array[i]+1;
i=i-1;
//判断各位是否进位
for(i;i>=0;i--)
{
if(array[i+1]==10)
{
array[i]=array[i]+1;
array[i+1]=0;
}
}
//当最高位需要进位时
if(array[1]==0)
{
array[0]=1;
for(int x=0;x<n+1;x++)
printf("%d ",array[x]);
}
//最高位无须进位
else{
for(int x=1;x<n+1;x++)
printf("%d ",array[x]);
}
return 0;
}