C语言编程题-7

    xiaoxiao2025-04-02  40

    叛逆期的小明什么都喜欢反着做,连看数字也是如此(负号除外),比如:

    小明会把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 fan(int i) { int n = 0, b = 0; for (int m = abs(i); m >= 1;) //如果是负数,m将小于0,会不满足m>=1,所以将m变作i的绝对值来计算共多少位数。 { m = m / 10; n++; } for (int c = 0; c < n; c++) //c<n 而不是 c<=n { int a; a = i % 10; b = b * 10 + a; i = i / 10; } return b; } int main() { int a, b, m, n, s, t; scanf_s("%d %d", &a, &b); m = (a + b) / 2; n = (a - b) / 2; fan(m); fan(n); s = fan(m) + fan(n); t = fan(m) - fan(n); printf("%d %d", s, t); return 0; }

     

    最新回复(0)