首页 > 代码库 > 题目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:简单计算器-------注意此题的输入中空格和字符和数字的关系,该用数据结构的时候就得用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。