a+b
\operatorname{a+b}
a+b
题目链接:
luogu U89431
\operatorname{luogu\ U89431}
luogu U89431
题目背景
**鱼带着TA的水题又回来了!qaq!
题目
给定
a
a
a 和
b
b
b ,求
a
+
b
a+b
a+b 的值。
保证运算结果和
a
a
a 的值在int范围内。
输入
一行两个整数,空格隔开,
a
a
a 和
b
b
b。
输出
输出时,应输出形如“a+b=c"的形式,若
a
,
b
,
c
a,b,c
a,b,c 中有负数,则负数的两侧要加上括号"()"。
样例输入
1 -999
样例输出
1+(-999)=(-998)
提示
对于
100
%
100\%
100% 的数据,保证非常坑爹
思路
这一道题看似简单,实则不然。
它的左括号是中文的括号!!
然后你直接输出它还是不可以的,要把它拆开成两个 ASCII 码的字符(虽然 ASCII 值会很奇怪),然后分别输出,才可以输出出中文字符。
而中文右括号拆开来就是 -93 和 -88。
代码
#include<cstdio>
#include<iostream>
#define ll long long
using namespace std
;
ll a
, b
, c
;
char d
[2];
int main() {
scanf("%lld %lld", &a
, &b
);
if (a
< 0) {
printf("%c%c", -93, -88);
cout
<< a
<< ")";
}
else cout
<< a
;
cout
<< "+";
if (b
< 0) {
printf("%c%c", -93, -88);
cout
<< b
<< ")";
}
else cout
<< b
;
cout
<< "=";
c
= a
+ b
;
if (c
< 0) {
printf("%c%c", -93, -88);
cout
<< c
<< ")";
}
else cout
<< c
;
return 0;
}
感谢 zhaohaikun 大佬的指点———
他的洛谷/ 以上为我在他的启发下 AC 了题目之后,他跟我讲解的过程。