题目描述
有 n 道数学算式题,现在希望采取一种简便的方式记录这些算式,比如 5+8 的算式只要输入 5 和 8,这样就大大简化了算式的书写。 但同时要求输出的结果要尽量详细,比如对于上述输入进行处理后输出 5+8=13 以及该算式的总长度 6
输入格式
第一行一个整数 n。 接着的 n 行为需要输入的算式,每行可能有三个数据或两个数据。
若该行为三个数据则第一个数据表示运算类型, a 表示加法运算, b 表示减法运算, c 表示乘法运算,接着的两个数据表示参加运算的运算数。
若该行为两个数据,则表示本题的运算类型与上一题的运算类型相同,而这两个数据为运算数。
输出格式
输出 2×n 行。对于每个输入的算式,输出完整的运算式及结果,第二行输出该运算式的总长度。
输入输出样例
输入
4
a 64 46
275 125
c 11 99
b 46 64
输出
64+46=110
9
275+125=400
11
11*99=1089
10
46-64=-18
9
说明/提示
对于 50% 的数据,输入的算式都有三个数据,第一个算式一定有三个数据。 对于所有数据, 0<n≤50,运算数为非负整数且小于 10000。
我 的 程 序:
#include <iostream>
#include<bits/stdc++.h>
#include <iomanip>
using namespace std;
int n,j,f;
char x;//x用来代表转换算法的字母a,b,c
int main() {
cin>>n;//n代表算式数量
for(int i=1;i<=n;i++){//I`m for recycle
cin>>x;
cin>>j>>f;
if(x=="a"){
cout<<j<<"+"<<f<<"="<<j+f;//加法的判断与输出
}
if(x=="b"){
cout<<j<<"-"<<f<<"="<<j-f;//减法的判断与输出
}
if(x=="c"){
cout<<j<<"*"<<f<<"="<<j*f;//乘法法的判断与输出
}
}
return 0;
}
//编译了一下,报错了两个
链接:T537722