动态数组存放了一些个位数字(正数),组成一个大数。将这个数加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 #include<iostream> using namespace std; int main() { int n,a[1000],i,z=0,c=0; cin>>n; for(i=0;i<n;i++) cin>>a[i]; for(i=0;i<n;i++) { if(a[i]!=9) break; z++; } if(z==n) //特殊情况的值 { c=1; cout<<"1"<<" "; for(i=0;i<n;i++) cout<<"0"<<" "; } if(c==0){ a[n-1]=a[n-1]+1; for(i=n-1;i>=0;i--) //正常情况的值 { // cout<<"z"<<endl; if(a[i]==10) { a[i]=0; a[i-1]=a[i-1]+1; } } // for(i=0;i<n;i++) cout<<a[i]<<" "; } return 0; } 首先要解决 n个9的问题 输出比你输入要多一位