代码实现
#include<stdio.h> #include<string.h> int main() { char s1[500],s2[500]; int i,k,flag; int a[500]={0},b[500]={0}; scanf("%s %s",s1,s2); for(i=0;i<strlen(s1);i++) a[i]=s1[strlen(s1)-i-1]-'0';//倒置输入并且把char转型为int for(i=0;i<strlen(s2);i++) b[i]=s2[strlen(s2)-i-1]-'0'; k = strlen(s1) > strlen(s2) ? strlen(s1) : strlen(s2); flag=0; for(i=0;i<k;i++) { flag+=a[i]+b[i]; a[i]=flag % 10;//进位 flag=flag/10; } if(flag==1)//将新增一位1 进位 { printf("1"); } for(i=k-1;i>=0;i--)//倒序打出 { printf("%d",a[i]); } return 0; }