A+B Problem(V)
-
描述
-
做了A+B Problem之后,Yougth感觉太简单了,于是他想让你求出两个数反转后相加的值。帮帮他吧
-
输入
- 有多组测试数据。每组包括两个数m和n,数据保证int范围,当m和n同时为0是表示输入结束。 输出
- 输出反转后相加的结果。 样例输入
-
1234 1234 125 117 0 0
样例输出
-
8642 1232
#include <stdio.h>
int v(int n)
{
int i;
int sum =0;
while (n) //后头有 n = n /10 当归0结束
{
i = n % 10;
sum = sum * 10 + i; //自己认为这不错,通过每次的循环,来达到最后一位到第一位。
n = n / 10;
}
return sum;
}
int main ()
{
int m ,n;
while (1)
{
scanf ("%d%d", &m, &n);
if (m == 0 && n == 0)
break;
m = v(m); //函数的引用。
n = v(n);
printf ("%d\n", m + n);
}
return 0;
}
自己刚开始的想法麻烦到死,在网上看到了设置函数的方法,学习了下。
无意中发现看的那个人是我们学校,和我一届的,差的好多,自己加油!!
优秀代码
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s,t;
int x,y;
while(cin>>s>>t)
{
int x=0,y=0;
if(s[0]=='0'&&t[0]=='0')
break;
for(int i=s.size()-1;i>=0;i--)
x=x*10+(s[i]-'0');
for(int i=t.size()-1;i>=0;i--)
y=y*10+(t[i]-'0');
cout<<x+y<<endl;
}
return 0;
}