输入两个正整数,先将它们分别倒过来,然后再相加,最后再将结果倒过来输出。注意:前置的零将被忽略。例如,输入305和794。倒过来相加得到1000,输出时只要输出1就可以了。测试数据保证结果在int类型的表示范围内。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入两个正整数a、b。
输出格式:
对于每组测试,将a、b逆序后求和并逆序输出(前导0不需输出)。
输入样例:
2
21 6
123 456
输出样例:
81
579
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
思路
首先定义一个名为 reverse
的函数,用于将一个正整数按位逆序。在函数主体中,使用循环依次取出原数字的末位,并将其添加到结果数字的最低位。当原数字处理完毕后,函数返回结果。
接着,在主函数中读入测试数据的组数 T,然后使用循环遍历每一组测试数据。对于每组数据,分别用 reverse
函数计算出两个数的倒序值,再将倒序值相加得到结果,最后输出结果的倒序值即可。
代码
#include<stdio.h>
int nixv(int n)
{
int result=0;
while(n>0)
{
result=result*10+n%10;
n/=10;
}
return result;
}
int main( )
{
int T,a,b,sum,a1,b1,sum1;
scanf("%d",&T);
for(int i=1;i<=T;i++)
{
scanf("%d%d",&a,&b);
a1=nixv(a);
b1=nixv(b);
sum=a1+b1;
sum1=nixv(sum);
printf("%d\n",sum1);
}
return 0;
}