码迷,mamicode.com
首页 > 其他好文 > 详细

ZSTUOJ刷题⑥:Problem 3535.--模拟简单计算器

时间:2021-05-24 17:12:25      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:sam   span   运算符   优先   rip   优先级   简单   break   输入   

3535: 模拟简单计算器

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 4634  Solved: 1652

Description

程序模拟简单运算器的工作:输入一个算式(没有空格),遇到‘=’号说明输入结束,输出结果。假设计算器只能进行加、减、乘、除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。例如,输入“1+2*10-10/2"后结果为10。

Input

输入一个以等号结束的四则运算式(不含括号)

Output

输出计算结果

Sample Input

1+2*10-10/2=
1+3*5/2-7=

Sample Output

10
3
代码如下:
#include<bits/stdc++.h>
using namespace std;

int main(){
    char str[1000];
    while(gets(str)!=NULL){
        int i;
        int result=0;
        int temp=0;
        int flag=0;
        char c;
        for(i=0;str[i]!=\0;i++)
        {
            if(0<=str[i]&&str[i]<=9){
                temp=temp*10+str[i]-0;    
            }
            else{
                if(flag==1){
                    switch (c){
                        case +:
                            result+=temp;
                            temp=0;
                            c=str[i];
                            break;
                            
                        case -:
                            result-=temp;
                            temp=0;
                            c=str[i];
                            break;
                            
                        case *:
                            result*=temp;
                            temp=0;
                            c=str[i];
                            break;
                            
                        case /:
                            result/=temp;
                            temp=0;
                            c=str[i];
                            break;
                    }
                }
                else{
                    result=temp;
                    temp=0;
                    c=str[i];
                    flag=1;    
                }
            }        
        }    
        cout<<result<<endl;
    }
    return 0;
}

 

ZSTUOJ刷题⑥:Problem 3535.--模拟简单计算器

标签:sam   span   运算符   优先   rip   优先级   简单   break   输入   

原文地址:https://www.cnblogs.com/Xuou7/p/14791025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!