简单算术表达式求值
题目描述
两位正整数的简单算术运算(只考虑整数运算),算术运算为:
+
,加法运算;
-
,减法运算;
*
,乘法运算;
/
,整除运算;
%
,取余运算。
算术表达式的格式为(运算符前后可能有空格):
运算数运算符运算数。
请输出相应的结果。
输入格式
一行算术表达式。
输出格式
整型算数运算的结果(结果值不一定为 2 2 2 位数,可能多于 2 2 2 位或少于 2 2 2 位)。
样例 #1
样例输入 #1
32+64
样例输出 #1
96
#include<stdio.h>
#include<math.h>
#include<stdio.h>
#include<stdbool.h>
#include<string.h>
int main(){
char str[500],c,op;
int n,i,j,k,num1=0,num2=0;
i=0;
while((c=getchar())!=EOF){
str[i++]=c;
if(c=='+'||c=='-'||c=='*'||c=='/'||c=='%'){
op=c;//找到运算符号
}
}
str[i]='\0';
for(j=0;str[j]!=op;j++){
if(str[j]!=' '){
num1*=10;
num1+=(str[j]-'0');
}
}//找到第一个数 ,此时j指向运算符
for(k=j+1;k<i;k++){
if(str[k]!=' '){
num2*=10;
num2+=(str[k]-'0');
}
}//找到第二个数
if(op=='+'){
printf("%d\n",num1+num2);
}
else if(op=='-'){
printf("%d\n",num1-num2);
}
else if(op=='*'){
printf("%d\n",num1*num2);
}
else if(op=='/'){
printf("%d\n",num1/num2);
}
else if(op=='%'){
printf("%d\n",num1%num2);
}//进行运算
return 0;//CSDN:旺旺的碎冰冰~
}