#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
int i,j,n[100],m[100];
char a[100],b[100];
gets(a);
gets(b);
for(i=0;i<=strlen(a)-1;i++)
{
if(a[i]=='0')
n[i]=0;
else if(a[i]=='1')
n[i]=1;
else if(a[i]=='2')
n[i]=2;
else if(a[i]=='3')
n[i]=3;
else if(a[i]=='4')
n[i]=4;
else if(a[i]=='5')
n[i]=5;
else if(a[i]=='6')
n[i]=6;
else if(a[i]=='7')
n[i]=7;
else if(a[i]=='8')
n[i]=8;
else n[i]=9;
}
for(i=0;i<=strlen(b)-1;i++)
{
if(b[i]=='0')
m[i]=0;
else if(b[i]=='1')
m[i]=1;
else if(b[i]=='2')
m[i]=2;
else if(b[i]=='3')
m[i]=3;
else if(b[i]=='4')
m[i]=4;
else if(b[i]=='5')
m[i]=5;
else if(b[i]=='6')
m[i]=6;
else if(b[i]=='7')
m[i]=7;
else if(b[i]=='8')
m[i]=8;
else m[i]=9;
}
if(strlen(a)>=strlen(b))
{
for(i=strlen(a)-1,j=strlen(b)-1;j>=0;i--,j--)
{
if((n[i]+m[j])<10)
n[i]=n[i]+m[j];
else
{
n[i]=(n[i]+m[j])%10;
n[i-1]=n[i-1]+m[j-1]+(n[i-1]+m[j-1])/10;
}
}
if(n[strlen(a)-strlen(b)-1]>=10)
{
n[strlen(a)-strlen(b)-1]=n[strlen(a)-strlen(b)-1]%10;
n[strlen(a)-strlen(b)-2]=n[strlen(a)-strlen(b)-2]+n[strlen(a)-strlen(b)]/10;
}
for(i=0;i<=strlen(a)-1;i++)
printf("%d",n[i]);
}
system("pause");
}
我这个不太行,求高手改进下。。。