题目描述
题目背景
老师准备把若干道口算题排版成练习材料。为了减少录入量,同一种运算连续出现时,后续题目可以省略运算类型。程序需要补全算式、计算答案,并给出排版后字符串的长度。
题目描述
共有 道口算题。程序需要记住“当前运算类型”,运算类型由一个小写字母表示:
a:加法;b:减法;c:乘法。
每道题的输入有两种形式:
type x y:本题明确给出运算类型,先把当前运算类型改为type,再计算 和 ;x y:本题省略运算类型,继续使用上一题的运算类型。
第一道题一定会明确给出运算类型。
对每道题构造一个不含空格的完整算式:
- 加法写成
x+y=result; - 减法写成
x-y=result; - 乘法写成
x*y=result。
输出算式后,还要输出这个算式字符串的字符总数。长度统计包括所有数字、运算符和等号;如果减法结果为负数,负号也要计入长度。
输入格式
第一行一个整数 ,表示口算题数量。
接下来 行,每行是 type x y 或 x y,含义见题目描述。
输出格式
共输出 行。对于每道题:
- 第一行输出完整算式和结果;
- 第二行输出该算式的字符数量。
输入样例 #1
4
a 5 8
6 4
b 20 7
3 9
输出样例 #1
5+8=13
6
6+4=10
6
20-7=13
7
3-9=-6
6
样例说明 #1
第二题省略了类型,因此沿用第一题的加法。第三题把类型改为减法,第四题继续使用减法。第四题的结果为负数,负号计入字符串长度。
输入样例 #2
1
a 9539 3214
输出样例 #2
9539+3214=12753
15
输入样例 #3
3
c 0 8
12 3
b 4 9
输出样例 #3
0*8=0
5
12*3=36
7
4-9=-5
6
数据范围与约定
- ;
- 第一题一定包含运算类型;
- 两个操作数均为非负整数且小于 ;
- 减法结果可能为负数;
- 所有计算结果均可用常规整数类型保存。