T537722 数学算式(求调必关)(带注释和链接)
  • 板块学术版
  • 楼主HOYOMIX_2D
  • 当前回复21
  • 已保存回复21
  • 发布时间2024/11/10 17:55
  • 上次更新2024/11/10 19:04:05
查看原帖
T537722 数学算式(求调必关)(带注释和链接)
1387871
HOYOMIX_2D楼主2024/11/10 17:55

题目描述

有 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

2024/11/10 17:55
加载中...