首页 > 代码库 > 题目1019:简单计算器-------注意此题的输入中空格和字符和数字的关系,该用数据结构的时候就得用

题目1019:简单计算器-------注意此题的输入中空格和字符和数字的关系,该用数据结构的时候就得用

AC:#include<stdio.h>

#include<stack>
using namespace std; 
int main()
{      int a;
        char b,c;
        double d; 
    while(scanf("%d%c",&a,&c))
    {
       if (a==0 && c==‘\n‘) break; //注意这里,输入0结束时,有一个换行符;因为要一个                                     //一个字符的判断,所以不得不注意\n
stack
<double> num; num.push(a); while(scanf("%c %d%c",&b,&a,&c)!=EOF)//输入方式 { if (b==+) num.push(a); else if (b==-) num.push(-1.0*a); else if (b==*) { d=num.top()*a; num.pop(); num.push(d); } else if (b==/) { d=num.top()/a; num.pop(); num.push(d); } if (c!= ) break; } while(!num.empty()) { if (num.size()==1) { printf("%.2lf\n",num.top()); num.pop();break; } double d1=num.top(); num.pop(); double d2=num.top(); num.pop(); num.push(d1+d2); } } return 0; }

 

题目1019:简单计算器-------注意此题的输入中空格和字符和数字的关系,该用数据结构的时候就得用