四则运算表达式

匿名 (未验证) 提交于 2019-12-03 00:22:01

Description
如果把表达式看做一个类,可以定义类Expression。该类包括:
1. 2个int类型的操作数和1个char类型的运算符(假定仅支持四则运算)。
2. 构造函数Expression(int,int,op),其中三个参数分别是第1个和第2个操作数及运算符。
2. void show()方法,按照“a op b = c”的格式输出表达式及其结果,其中a、b、c为第1个、第2个操作数及运算结果,op即运算符。
假定在进行除法运算时,a一定能被b整除。a、b和c都在int类型范围内。
Input
输入有多行,第1行N>0表示有N个测试用例,每个测试用例占一行,每行的格式见样例。
Output
输出N行,每行输出与一行输入相对应。见样例。
Sample Input
4
1+2
3-4
5*6
8/2
Sample Output
1 + 2 = 3
3 - 4 = -1
5 * 6 = 30
8 / 2 = 4
HINT
Append Code
append.cc,

int main() {     int N, i, a, b;     char op;     scanf("%d", &N);     for (i = 0; i < N; i++)     {         cin>>a>>op>>b;         Expression exp(a, b, op);         exp.show();     }     return 0; }

AC代码

#include <iostream> #include <bits/stdc++.h> using namespace std; class Expression { private:       int a,b;       char c; public:     Expression():a(0),b(0){}     Expression(int aa,int bb,char cc):a(aa),b(bb),c(cc){}     void show()     {         if(c=='+')           cout<<a<<" + "<<b<<" = "<<a+b<<endl;         else if(c=='-')            cout<<a<<" - "<<b<<" = "<<a-b<<endl;         else if(c=='*')             cout<<a<<" * "<<b<<" = "<<a*b<<endl;         else if(c=='/')             cout<<a<<" / "<<b<<" = "<<a/b<<endl;     } }; int main() {     int N, i, a, b;     char op;     scanf("%d", &N);     for (i = 0; i < N; i++)     {         cin>>a>>op>>b;         Expression exp(a, b, op);         exp.show();     }     return 0; } 

注意:
1、char类型不需要赋初值;

文章来源: 四则运算表达式
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!