【题目描述】
两位正整数的简单算术运算(只考虑整数运算),算术运算为:
+,加法运算;
-,减法运算;
*,乘法运算;
/,整除运算;
%,取余运算。
算术表达式的格式为(运算符前后可能有空格):
运算数 运算符 运算数
请输出相应的结果。带我去看题目
【输入】
一行算术表达式。
【输出】
整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。
【输入样例】
32+64
【输出样例】
96
【通过代码】
#include <bits/stdc++.h> using namespace std; char str[1001],a[1001],b[1001],s; bool isNum(char _s){return _s >= '0' && _s <= '9'; } bool isOpr(char _s){return _s == '+' || _s == '-' || _s == '*' || _s == '/' || _s == '%'; } int toInt(char _str[]){int Int = 0;for(int i = 0;i < strlen(_str);i ++)Int = Int * 10 + _str[i] - '0';return Int; } int main(){gets(str);bool enter_opr = false;for(int i = 0;i < strlen(str);i ++)if(isNum(str[i])){if(enter_opr == false)a[strlen(a)] = str[i];elseb[strlen(b)] = str[i];}else if(isOpr(str[i]))s = str[i],enter_opr = true;int ans,_a = toInt(a),_b = toInt(b);switch(s){case ('+'):ans = _a + _b;break;case ('-'):ans = _a - _b;break;case ('*'):ans = _a * _b;break;case ('/'):ans = _a / _b;break;case ('%'):ans = _a % _b;break;}printf("%d",ans);return 0; }
详细解决方案
1397:简单算术表达式求值
热度:44 发布时间:2024-02-09 12:37:00.0