杭电ACM A+B problemII 大数加法超时问题
以下是我的代码[color=#FF0000][/color
submit之后显示runtime eror
#include<iostream>
#include<stdio.h>
#include<string.h>
#define M 20
using namespace std;
void Add(char s1[],char s2[])
{
int num1[M]={'0'},num2[M]={'0'};
int i,j;
int len1,len2;
len1=strlen(s1);
len2=strlen(s2);
int q=len1>len2?len1:len2;
for(i=len1-1,j=0;i>=0;i--)//num[0]保存的是低位
num1[j++]=s1[i]-'0';
for(i=len2-1,j=0;i>=0;i--)//num[0]保存的是低位
num2[j++]=s2[i]-'0';
for(i=0;i<M;i++)
{
num1[i]+=num2[i];
if(num1[i]>9)
{
num1[i]-=10;
num1[i+1]++;
}
}
for(int i=q-1;i>=0;i--)
printf("%d",num1[i]);
}
int main()
{ int n;
int t=0;
cin>>n;
while(t!=n)
{
char gsy1[M]={'0'},gsy2[M]={'0'};
cin>>gsy1>>gsy2;
cout<<"Case "<<t+1<<":"<<endl;
cout<<gsy1<<" "<<"+ "<<gsy2<<" "<<"= ";
Add(gsy1,gsy2);
t++;
}
return 0;
}