12翻一下是21,34翻一下是43,12+34是46,46翻一下是64=21+43,现在有任意两个正整数,
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64=21+43,现在有任意两个正整数,问他们“两个数反转的和是否等于两个数的和的反转”。输入格式两个正...
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64=21+43,现在有任意两个正整数,问他们“两个数反转的和是否等于两个数的和的反转”。输入格式两个正整数a和b(0<a,b<=10000,程序中不验证输入是否在范围内)。输出如果满足题目的要求输出a+b的值,否则输出NO。C语言!!!!!!!
展开
展开全部
#include <stdio.h>
int rev(int n){
int m;
for(m=0;n;(m*=10)+=n%10,n/=10);
return m;
}
int main(void){
int a,b;
printf("Please input a & b:");
scanf("%d%d",&a,&b);
if(rev(a)+rev(b)==rev(a+b))
printf("Output:\n%d\n",a+b);
else
printf("Output:\nNo\n");
return 0;
}
int rev(int n){
int m;
for(m=0;n;(m*=10)+=n%10,n/=10);
return m;
}
int main(void){
int a,b;
printf("Please input a & b:");
scanf("%d%d",&a,&b);
if(rev(a)+rev(b)==rev(a+b))
printf("Output:\n%d\n",a+b);
else
printf("Output:\nNo\n");
return 0;
}
追问
凌晨的回答😱。for里面不懂,能写在括号外吗
追答
for(m=0;n;(m*=10)+=n%10,n/=10);——
for(m=0;n;n/=10)
(m*=10)+=n%10;——
for(m=0;n;n/=10){
m=m*10;
m=m+n%10;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询