题目描述
小明很喜欢做a+b,他但经常忘记进位,所以他算88+12=90,而不是100。 现在你给了小明一些a+b的算式,请问他算出来会是什么?
输入
第一行是一个整数K,表示样例的个数。 每个样例占一行,为两个整数a,b,0≤a,b≤1e9。
输出
每行输出一个样例的结果,不要输出前导0。
样例输入
3 1 2 5 6 55 55
样例输出
3 1 0
AC代码
#include<stdio.h>
int max(int a,int b){if(a>b)return a;else return b;
}
int main(){int T;scanf("%d",&T);while(T--){int m,n,i;scanf("%d%d",&m,&n);int la=0,lb=0,lc=0;int a[30]={},b[30]={},c[30]={};while(m){a[la]=m%10;m/=10;la++;}while(n){b[lb]=n%10;n/=10;lb++;}for(i=0;i<max(la,lb);i++){if(a[i]+b[i]<10)c[lc]=a[i]+b[i];else c[lc]=a[i]+b[i]-10;lc++;}int sum=0;for(i=lc-1;i>=0;i--){sum=sum*10+c[i]; }printf("%d\n",sum);}
}
进制转化:转b进制
sum=sum*b+a[i](最高位)