A+B Problem(v) 南阳理工ACM 题目844

来源:互联网 发布:淘宝社区茶叶包装盒 编辑:程序博客网 时间:2024/05/16 07:48

A+B Problem(V)

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描述
做了A+B Problem之后,Yougth感觉太简单了,于是他想让你求出两个数反转后相加的值。帮帮他吧
输入
有多组测试数据。每组包括两个数m和n,数据保证int范围,当m和n同时为0是表示输入结束。
输出
输出反转后相加的结果。
样例输入
1234 1234125 1170 0
样例输出
86421232
来源
Yougth原创
上传者

TC_杨闯亮


我的程序:

#include<stdio.h>
 int rev(int a){
int s = 0;
while(a){              //a>0一直进行循环
s = s * 10 + a % 10;
a /= 10;
}
return s;
}


int main(){
int m, n;
while(1){      //死循环,0  0 跳出
scanf("%d%d",&m,&n);
if(m == 0&&n == 0)
break;
printf("%d\n",rev(m)+rev(n));
}
return 0;
}

最优程序:

01.#include <iostream>
02.#include <string>
03.using namespace std;
04.int main()
05.{
06.string s,t;
07.int x,y;
08.while(cin>>s>>t)
09.{
10.int x=0,y=0;
11.if(s[0]=='0'&&t[0]=='0')
12.break;
13.for(int i=s.size()-1;i>=0;i--)
14.x=x*10+(s[i]-'0');
15.for(int i=t.size()-1;i>=0;i--)
16.y=y*10+(t[i]-'0');
17.cout<<x+y<<endl;
18.}
19.return 0;
20.}

0 0
原创粉丝点击