编写程序,对读入的一个简单的四则运算式进行计算。
输入格式:
正常情况下是两个整数中间用一个运算符分隔(运算符是+-*/之一,也可能是其它的错误输入),数据与运算符之间再无其它内容。
输出格式:
如果是正常的运算,直接输出运算结果,如果出现零作分母,输出Error0,如果出现了+-*/以外的错误运算符,输出Error1。
输入样例1:
18--2
输出样例1:
20
输入样例2:
18/0
输出样例1:
Error0
思路:
看题目觉得应该要考虑很多情况啊,比如说出现"3**5“怎么办,难道要用正则?但是题目分值不高应该不需要考虑那么多问题,所以利用scanf格式化输入试一下,结果能过,那便罢。
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n1, n2;
char ch;
scanf("%d%c%d", &n1, &ch, &n2);
if(ch == '/' && n2 == 0) {
cout<<"Error0"<<endl;
return 0;
}
if(ch == '+') {
cout<<n1+n2<<endl;
} else if(ch == '-') {
cout<<n1-n2<<endl;
} else if(ch == '*') {
cout<<n1*n2<<endl;
} else if(ch == '/') {
cout<<n1/n2<<endl;
} else {
cout<<"Error1"<<endl;
}
return 0;
}