标签:name family 题目10 space mil main stack char namespace
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:简单计算器-------注意此题的输入中空格和字符和数字的关系,该用数据结构的时候就得用
标签:name family 题目10 space mil main stack char namespace
原文地址:http://www.cnblogs.com/jianrenguo/p/6497853.html