栈 4
来源:互联网 发布:学日语好用软件 编辑:程序博客网 时间:2024/05/07 16:25
/*
题目1101:计算表达式
题目描述:
对于一个不存在括号的表达式进行计算
输入:
存在多种数据,每组数据一行,表达式不存在空格
输出:
输出结果
样例输入:
6/2+3+3*4
样例输出:
18
*/
#include<stdio.h>
int main(){
int i,j;
double ar[1111];
char ch;
while(scanf("%lf",&ar[0]) != EOF){
i=0;
while(scanf("%c",&ch) != EOF && ch != '\n'){
scanf("%d",&j);
if(ch == '+')
ar[++i]=j*1.0;
else if(ch == '-')
ar[++i]=j*(-1.0);
else if(ch=='*')
ar[i]*=j;
else ar[i]/=j;
}
for(j=1;j<=i;j++)
ar[0]+=ar[j];
printf("%.0lf\n",ar[0]);
}
return 0;
}
#include <stdio.h>
#include <stack>
using namespace std;
stack<double> num;
int main(){
double a;
double ans;
char b;
while(scanf("%lf",&a)!=EOF){
if(!num.empty()){num.pop();}
num.push(a);
while(scanf("%c",&b)!=EOF&&b!='\n'){
scanf("%lf",&a);
if(b=='+') num.push(a);
if(b=='-') num.push(-1.0*a);
if(b=='*'){
ans=num.top()*a;
num.pop();
num.push(ans);
}
if(b=='/'){
ans=num.top()/a;
num.pop();
num.push(ans);
}
}
while(!num.empty()){
if(num.size()==1){
printf("%.0lf\n",num.top());
break;
}
double a1,a2;
a1=num.top();
num.pop();
a2=num.top();
num.pop();
num.push(a1+a2);
}
}
return 0;
}
题目1101:计算表达式
题目描述:
对于一个不存在括号的表达式进行计算
输入:
存在多种数据,每组数据一行,表达式不存在空格
输出:
输出结果
样例输入:
6/2+3+3*4
样例输出:
18
*/
#include<stdio.h>
int main(){
int i,j;
double ar[1111];
char ch;
while(scanf("%lf",&ar[0]) != EOF){
i=0;
while(scanf("%c",&ch) != EOF && ch != '\n'){
scanf("%d",&j);
if(ch == '+')
ar[++i]=j*1.0;
else if(ch == '-')
ar[++i]=j*(-1.0);
else if(ch=='*')
ar[i]*=j;
else ar[i]/=j;
}
for(j=1;j<=i;j++)
ar[0]+=ar[j];
printf("%.0lf\n",ar[0]);
}
return 0;
}
#include <stdio.h>
#include <stack>
using namespace std;
stack<double> num;
int main(){
double a;
double ans;
char b;
while(scanf("%lf",&a)!=EOF){
if(!num.empty()){num.pop();}
num.push(a);
while(scanf("%c",&b)!=EOF&&b!='\n'){
scanf("%lf",&a);
if(b=='+') num.push(a);
if(b=='-') num.push(-1.0*a);
if(b=='*'){
ans=num.top()*a;
num.pop();
num.push(ans);
}
if(b=='/'){
ans=num.top()/a;
num.pop();
num.push(ans);
}
}
while(!num.empty()){
if(num.size()==1){
printf("%.0lf\n",num.top());
break;
}
double a1,a2;
a1=num.top();
num.pop();
a2=num.top();
num.pop();
num.push(a1+a2);
}
}
return 0;
}
0 0
- 栈 4
- 4、栈
- 数据结构笔记4 栈
- lua 栈枚举 4
- (4)顺序栈(Java)
- 4 栈与队列
- 栈的应用4
- 4、栈和队列
- 干货4:链式栈
- 栈(4)
- 数据结构4(顺序栈)
- linux网络协议栈4
- [数据结构与算法] 4,栈
- Linux TCP/IP协议栈笔记(4)
- 汇编学习笔记【4】之栈专题
- 堆和栈的区别 4
- 跟我学数据结构:(4) 栈 (Stack)
- 考研复习(4)-栈操作
- VxWorks 任务
- 3236: [Ahoi2013]作业
- LeetCode278 二分查找
- vim命令常用
- Linux线程 -- 互斥锁实践
- 栈 4
- xshell下bpython使用退格键的问题
- AndroidStudio创建minimumSDK4.1以下版本后没有R文件已解决
- postgresql关于auto vacuum
- 硬盘分区表知识——详解硬盘MBR
- Appcan学习手记(2)——UI框架及布局定位
- Linux基本的快捷键
- PAT 1001. A+B Format (20)
- app兼容性测试(一)