A+B Problem(V)
时间限制:1000 ms | 内存限制:65535 KB
难度:1
-
描述
- 做了A+B Problem之后,Yougth感觉太简单了,于是他想让你求出两个数反转后相加的值。帮帮他吧
-
输入
- 有多组测试数据。每组包括两个数m和n,数据保证int范围,当m和n同时为0是表示输入结束。 输出
- 输出反转后相加的结果。 样例输入
-
1234 1234 125 117 0 0
样例输出 -
8642 1232
#include<stdio.h>
int main()
{
int fun( int n );//把整数n反转,返回反转后的数
int powTen( int k );//返回10的k次方
int a = 0;
int b = 0;
scanf("%d%d",&a,&b);
while( 0 != a || 0 != b )
{
a = fun( a );
b = fun( b );
printf("%d\n",a+b);
scanf("%d%d",&a,&b);
}
return 0;
}
//返回10的k次方
int powTen( int k )
{
int i = 0;
int re = 1;
if( 0 == k )
{
return re;
}
for( i = 1; i <= k; i++ )
{
re *= 10;
}
return re;
}
//把整数n反转,返回反转后的数
int fun( int n )
{
int a[100];
int b = 0;
int i = 0;
int j = 0;
int k = 0;
while( 0 != n )
{
a[i] = n % 10;
n = n / 10;
i++;
}
for( j = i - 1,k = 0; j >= 0; j--,k++ )
{
b += a[j] * powTen( k );
}
return b;
}