C语言编程100题-4.2

4.2
叛逆期的小明什么都喜欢反着做,连看数字也是如此(负号除外),比如:
小明会把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是小数的情况。
输出:
输出两个整数s t,之间用一个空格分开,其中s表示小明将得到的a+b答案,t表示小明将得到的a-b答案。
样例:
20 6
38 24

#include<stdio.h>
int in;
int xiaoming(int in)
{
    int i, j, out, d, c;
    j = 0;
    out = 0;
    for (i = 1; i <= 1000000; i++)
    {
        if (in / i == 0)
            break;
        i = i * 10;
        j++;
    }
    int z[7];
    for (d = 1; d <= j; d++)
    {
        z[d] = in % 10;
        in = in / 10;
    }
    for (c = 1; c <= j; c++)
    {
        out = 10 * out + z[c];
    }
    return out;
}
int main()
{
    int x, y, a, b;
    scanf("%d%d", &x, &y);
    a = (x + y) / 2;
    b = (x - y) / 2;
    int a1, b1;
    a1 = xiaoming(a);
    b1 = xiaoming(b);
    int s, t;
    s = a1 + b1;
    t = a1 - b1;
    printf("%d %d", s, t);
}
上一篇:032.[转] Java集合框架


下一篇:032-PHP中关于数组排序的usort()函数