九度OJ 题目1089:数字反转

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SJF0115/article/details/8566922
/********************************* 
 *    日期:2013-2-3
 *    作者:SJF0115 
 *    题号: 九度OJ 题目1089:数字反转
 *    来源:http://ac.jobdu.com/problem.php?pid=1089
 *    结果:AC 
 *    来源:2005年上海交通大学计算机研究生机试真题
 *    总结:
**********************************/ 
#include<stdio.h>

int main(){
	int n,i,a,b,ra,rb,sum,rsum,ta,tb;
	//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); 
	while(scanf("%d",&n) != EOF){
		for(i = 0;i < n;i++){
			ra = 0;//a的翻转
			rb = 0;//b的翻转
			rsum = 0;//a+b和的翻转
			scanf("%d %d",&a,&b);
			ta = a;
			tb = b;
			sum = a + b;
			//a的翻转
			while(ta){
				ra = ra * 10 + ta % 10;
				ta = ta / 10;
			}
			//b的翻转
			while(tb){
				rb = rb * 10 + tb % 10;
				tb = tb / 10;
			}
			//a+b和的翻转
			while(sum){
				rsum = rsum * 10 + sum % 10;
				sum = sum / 10;
			}
			//两个数反转的和是否等于两个数的和的反转。
			if(ra + rb == rsum){
				printf("%d\n",a + b);
			}
			else{
				printf("NO\n");
			}
		}
	}
}

阅读更多
换一批

没有更多推荐了,返回首页