去除空格后识别唯一运算符,按对应整数运算规则计算结果。
OJ: noi_openjudge
题目 ID: ch0112-01
难度:入门
标签:模拟字符串python
日期: 2026-07-30 23:01
题意
计算两个整数和一个运算符组成的简单表达式,运算符两侧可能有空格。
思路
先删除空格,再在五种运算符中找到出现的一个,用 split 分出左右操作数。根据运算符分支计算;// 对正整数正好是题目要求的整除。
代码
Python代码
python
expression = input().replace(" ", "")
for operator in "+-*/%":
if operator in expression:
left, right = map(int, expression.split(operator))
break
if operator == "+":
print(left + right)
elif operator == "-":
print(left - right)
elif operator == "*":
print(left * right)
elif operator == "/":
print(left // right)
else:
print(left % right)C++代码
cpp
#include <cstdio>
int a,b;
char c;
void init(){
scanf("%d",&a);
while(1){
scanf("%c",&c);
if( c != ' ')
break;
}
scanf("%d",&b);
}
int suan(int a,int b,char c){
if( c == '/')
return a /b;
if( c == '%')
return a % b;
if( c == '*')
return a * b;
if( c == '+')
return a + b;
if( c == '-')
return a - b;
}
int main(){
init();
int ans = suan(a,b,c);
printf("%d\n",ans);
return 0;
}复杂度
时间和空间复杂度均为
总结
输入格式固定且只有一个运算符时,直接解析比通用表达式求值更清楚。