int和unsigned int类型都不能存储超过10位的整数。
#include<iostream>
#include<string>
using namespace std;
int main()
{
int a[100],b[100],k=0,t=0,m=0,c[200];
string num1,num2;
cin>>num1>>num2;
int n1=num1.length();
int n2=num2.length();
for(int i=n1-1;i>=0;i--)
{
a[k++]=num1[i]-'0';
}
for(int i=n2-1;i>=0;i--)
{
b[t++]=num2[i]-'0';
}
int i,flag=0,res=0;
for(i=0;i<n1&&i<n2;i++)
{
res=a[i]+b[i]+flag;
flag=res/10;
c[m++]=res%10;
}
for(;i<n1;i++)
{
res=a[i]+flag;
flag=res/10;
c[m++]=res%10;
}
for(;i<n2;i++)
{
res=b[i]+flag;
flag=res/10;
c[m++]=res%10;
}
if(flag!=0)
c[m++]=flag;
for(int i=m-1;i>=0;i--)
{
cout<<c[i];
}
return 0;
}