C++ 数字翻转(九度OJ 1089)

来源:互联网 发布:淘宝网淋浴塑料帘布 编辑:程序博客网 时间:2024/05/24 05:49

题目描述:

    12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。

输入:

    第一行一个正整数表示测试数据的个数n。
    只有n行,每行两个正整数a和b(0<a,b<=10000)。

输出:

    如果满足题目的要求输出a+b的值,否则输出NO。

样例输入:

212 3499 1
样例输出:
46NO

源代码:

#include <iostream>using namespace std;int main(){    int n;    int a,b,sum,t;    int turna,turnb,turnsum;    //翻转后的a b a+b    cin>>n;    while(n>0)    {        cin>>a>>b;        sum=a+b;        t=sum;        turna=0,turnb=0,turnsum=0;        while(a!=0)        {            turna=turna*10+a%10;            a/=10;        }        while(b!=0)        {            turnb=turnb*10+b%10;            b/=10;        }        while(sum!=0)        {            turnsum=turnsum*10+sum%10;            sum/=10;        }        if(turna+turnb==turnsum)        {            cout<<t<<endl;        }        else        {            cout<<"NO"<<endl;        }        n--;    }    return 0;}

程序截图:







0 0
原创粉丝点击