**
XJTU第 10 周
**
/编程题 - 小明的加减法【用函数实现】
叛逆期的小明什么都喜欢反着做,连看数字也是如此(负号除外),比如:
小明会把1234它看成4321;把-1234看成-4321;把230看成032 (032=32);把-230看成-032(-032=-32)。
现在,小明做了一些a+b和a-b的题目(a, b为整数且不含前导0),如果给你这些题目正确的答案,你能猜出小明会做得到什么答案吗?
输入:
两个整数x,y(-1000000 < = x, y < =1000000), x表示a+b的正确答案,y表示a-b的正确答案。
输入保证合法,且不需考虑a或b是小数的情况。
样例输入:
20 6
样例输出:
38 24
#define _CRT_SECURE_NO_WARNINGS//一口气写完主函数,自顶向下,逐步分解
#include<stdio.h>
#include<math.h>
int upsidedown(a)//得到小明看反的数,一次弄一个a变成a_
{
int a_=0;
int i = 0;
int a_number[10] = {0};
int count=0;
while (a != 0)//对a进行循环遍历,将a拆分得到一个一个的数字,存放在数组中
{
a_number[i] = a % 10;
i++;
count += 1;
a = a / 10;
}
int count_1 = count;//拷贝到count_1里面,便于后面的循环
for (int i = 0; i < count_1; i++)//了、开始循环,用到pow函数 pow(x,y),表示x的y次方
{
a_ += a_number[i] * pow(10, count - 1);
count -= 1;
}
return a_;//返回a_
}
int main()//主函数
{
int x, y;
int a, b;
scanf("%d %d", &x, &y);
a = (x + y) / 2;
b = (x - y) / 2;
int a_, b_;
a_ = upsidedown(a);
b_ = upsidedown(b);
printf("%d %d", a_ + b_,a_ - b_);
return 0;
}
希望这个代码可以帮助到你