#include<iostream>
#include<vector>
#include<string>
#include<map>
#include<cmath>
using namespace std;
int main() {
map < string, int > num = {{"ling", 0}, { "yi",1 }, { "er",2 }, { "san",3 }, { "si",4 }, { "wu",5 }, { "liu",6 }, { "qi",7 }, { "ba",8 }, { "jiu",9 }};
vector<int> tel;
vector<char> op = { '+','-','*','/','%','t','^'};
string str;
bool flag;
for (int i = 0; i < 11; i++) {
cin >> str;
flag = false;
for (auto it = op.begin(); it != op.end(); it++) {
if (str.find_first_of(*it) != -1) {
flag = true;
int c;
int index = str.find_first_of(*it);
if (*it == 't') {//开方
int a = stoi(str.substr(index+1));
c = sqrt(a);
}
else {
int a = stoi(str.substr(0, index));
int b = stoi(str.substr(index+1));
if (*it == '+') c = a + b;
if (*it == '-') c = a - b;
if (*it == '*') c = a * b;
if (*it == '/') c = a / b;
if (*it == '%') c = a % b;
if (*it == '^') c = pow(a, b);
}
tel.push_back(c);
break;
}
}
if (flag == false) {
if (num.count(str)) {
tel.push_back(num[str]);
}
else {
tel.push_back(stoi(str));//没有运算符,只有数字
}
}
}
for (int i = 0; i < 11; i++) {
cout << tel[i];
}
return 0;
}
网友评论