描述
键盘输入一个字符串,格式:运算方式 整数1 整数2,编写程序解析出字符串中的 3 部分内容,然后做相应的运算,并输出结果。
例如:
输入“add 10 20”,则做加法运算(10+20);
输入“sub 10 20”,则做减法运算(10-20);
输入“mul 10 20”,则做乘法运算(10*20);
输入“div 10 20”,则做除法运算(10/20),如果除数为 0,则不做运算,输出“Error”;
注意:运算方式忽略大小写,即 “add” 同 “Add”、“ADD”等。
输入描述:
键盘输入一个字符串,格式:运算方式 整数1 整数2
整数范围为[-100, 100]
输出描述:
输出运算后的结果(除法不考虑小数),如果除数为 0,则不做运算,输出“Error”
AC代码:
#include <iostream>
#include <string.h>
#include <sstream>
using namespace std;
int StoI(string x){
stringstream ss(x);
int t;
ss>>t;
return t;
}
int main() {
char str[100] = { 0 };
cin.getline(str, sizeof(str));
string op="";
string sa,sb;
int len=strlen(str);
int k=0;
while(str[k]!=' ' && k<len)
op+=str[k++];
k++;
while(str[k]!=' ' && k<len)
sa+=str[k++];
k++;
while(str[k]!=' ' && k<len)
sb+=str[k++];
int a=StoI(sa);
int b=StoI(sb);
//将op全部小写
for(int i=0;i<op.length();i++){
if(op[i]>='a' && op[i]<='z')
continue;
op[i]+='A'-'a';
}
int res;
if(op=="div" && b==0){
cout<<"Error"<<endl;
}
else{
if(op=="add")
res=a+b;
else if(op=="sub")
res=a-b;
else if(op=="mul")
res=a*b;
else
res=a/b;
cout<<res<<endl;
}
return 0;
}
|