就是处理大数的问题。先用char保存后转存为int型b[],记得要把b[0]留出来
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cmath>
#include<cctype>
using namespace std;
int main()
{
char a[100001];
int b[100001];
int T;
cin>>T;
int tmp,len,flag,len2;
long long int count;
while(T--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cin>>a;
len=strlen(a);
flag=0;
int k=len2=1;
for(int i=0;i<len;i++)
{
b[k++]=a[i]-'0';
len2++;
}
if(len2 == 2)
cout<<"19";
else
while(flag<50)
{
count=0;
flag++;
tmp=len2-1;
b[tmp]=b[tmp]+1;
while(b[tmp]>9)
{
b[tmp]=b[tmp]-10;
b[--tmp]++;
}
for(int i=0;i<len2;i++)
count+=b[i];
if(count%10 == 0)
{
if(b[0]!=0)
{
for(int i=0;i<len2;i++)
cout<<b[i];
}
else
{
for(int i=1;i<len2;i++)
cout<<b[i];
}
break;
}
}
cout<<endl;
}
}