题目描述
这是一个简单的问题,给你两个正整数a,b(0<=a,b<=2^31),然后把a和b反转然后相加;具体看样例;
输入
每组首先输入一个整数t,表示有t组数据。
以后每组数据占一行,且为两个整数a和b(没有前导0)。
输出
对于每组数据 ,输出数字反转相加后的结果。每组占一行。没有前导0!
样例输入
3
20 30
101 2
123 340
样例输出
5
103
364
来源
2010校赛
zzulioj好像不能用strrev,虽然也很简单,但相比用strrev是最简单的了。
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t,a,b;
char s1[20],s2[20];
scanf("%d",&t);
while(t--)
{
char s3[20] = {0}, s4[20] = {0};
scanf("%s %s",s1,s2);
int len1 = strlen(s1);
int len2 = strlen(s2);
for(int i = len1-1,j = 0;i >= 0;i--)
{
s3[j] = s1[i];
j++;
}
for(int i = len2-1,j = 0;i >= 0;i--)
{
s4[j] = s2[i];
j++;
}
a = atoi(s3);//atoi是将字符串转化为int类型的实数
b = atoi(s4);
printf("%d\n",a+b);
}
return 0;
}