后缀表达式的求值(c语言)
题目描述
输入
输入一行表示后缀表达式,数与数之间一定有空格隔开(可能不只一个空格),最后输入@表示输入结束。
数据保证每一步的计算结果均为不超过100000的整数。
输出
样例输入
14 3 20 5 / *8 - + @
样例输出
18
#include<stdio.h>
typedef struct STRACK //定义结构体
{
double a[100];
int top;
} STRACK;
int main()
{
double totle=0,e=0;
char s[100];
int i;
STRACK L;
L.top=-1;
gets(s);
for(i=0; s[i]!='@'; i++)
{
if(s[i]<='9'&&s[i]>='0')
{
L.top++;
int temp=s[i]-'0';
int k=i+1;
while(s[k]!='@') //利用while循环得到由多位由字符组成的数值
{
if(s[k]<='9'&&s[k]>='0')
{
temp=10*temp+(s[k]-'0');
i++;
k++;
}
else break;
}
L.a[L.top]=temp;
}
else if(s[i]=='+'||s[i]=='-'||s[i]=='*'||s[i]=='/') //遇到运算符进行计算
{
switch(s[i])
{
case '+':
e=L.a[L.top-1]+L.a[L.top];
break;
case '-':
e=L.a[L.top-1]-L.a[L.top];
break;
case '*':
e=L.a[L.top-1]*L.a[L.top];
break;
case '/':
e=L.a[L.top-1]/L.a[L.top];
break;
}
L.a[L.top-1]=e; //往前一位存储
L.a[L.top]=0;
L.top--;
}
}
printf("%.0lf",L.a[L.top]); //输出最后结果
return 0;
}
后缀表达式的求值(c语言)相关推荐
- 中缀表达式转后缀表达式并求值
因为在学校实在是太闲了,所以写了一个表达式求值的C语言程序,希望大佬可以多多指正. 基本思路: 就像把大象装进冰箱一样,我们需要三步进行表达式的求值工作. 输入一个中缀表达式(就是平常我们见的表达式) ...
- 信息竞赛进阶指南--中缀表达式转后缀表达式并求值(模板)
// 后缀表达式转中缀表达式,同时求值,O(n)// 数值栈 vector<int> nums; // 运算符栈 vector<char> ops;// 优先级 int gra ...
- 中缀表达式转换为前缀及后缀表达式并求值【摘】
它们都是对表达式的记法,因此也被称为前缀记法.中缀记法和后缀记法.它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前:中缀和后缀同理. 举例: (3 + 4) ...
- 数据结构中缀表达式转后缀表达式与后缀表达式的求值实训报告_动图+源码,演示 Java 中常用数据结构执行过程及原理...
程序员的成长之路互联网/程序员/成长/职场 关注 阅读本文大概需要 3.7 分钟. 作者:大道方圆cnblogs.com/xdecode/p/9321848.html 最近在整理数据结构方面的知识, ...
- 利用stack结构,将中缀表达式转换为后缀表达式并求值的算法实现
#!/usr/bin/env python # -*- coding: utf-8 -*-# learn <<Problem Solving with Algorithms and Dat ...
- 中缀转后缀表达式并求值
通过栈将中缀表达式转换为后缀表达式并根据后缀表达式求解,包含的Header.h为之前发过的栈操作相关函数实例程序,改成头文件就行.练习+记录,高手无视. OutPut: The init formul ...
- c语言中缀表达式求值_[源码和文档分享]基于C++的表达式计算求值
一.使用说明 1.1 项目简介 表达式求值是程序设计语言编译中的一个最基本的问题,就是将一个表达式转化为逆波兰表达式并求值.具体要求是以字符序列的形式从终端输入语法正确的.不含变量的整数表达式,并利用 ...
- C/C++ 语言中表达式的求值
作者:裘宗燕 北京大学数学学院信息科学系 本文基本内容发表于<编程高手>杂志 2004 年第 12 期 经常可以在一些讨论组里看到下面的提问:"谁知道下面 C 语句给 ...
- c语言如何求一个数学表达式的值,浅谈C语言中表达式的求值
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言研究性学习的路线 现行的多数C语言教材有太多的误区,不仅不能给读者提供有效的学习线索,还常常"误导"读者,于是,"死记 ...
最新文章
- 刷题两个月,从入门到字节offer,这是我的模板 | GitHub 1.2k星
- 单片机C语言拉高1位,第二讲 单片机C语言之12864液晶显示
- Linux脚本中$#、$0、$1、$@、$*、$$、$?
- Bugku-CTF之你必须让他停下+头等舱
- 20145227鄢曼君《网络对抗》Web安全基础实践
- 使用Spectre.Console创建漂亮的控制台应用程序
- SPS2003升级到MOSS2007相关资料及问题总结
- Linux笔记-centos安装elasticsearch7版本
- 无心剑中译罗素《此生何求?》
- C#初学的一些注意点
- 长串英文数字强制折行解决办法css
- 自学python考哪些证书-自学Python半年的姑娘告诉我,她这半年只值8元
- linux磁盘健康监控,MegaCli监控RAID磁盘健康信息
- Shiro框架的搭建与使用
- PS 批量导入图片制作 gif
- ai怎么做波普风圆点_AI绘画教程,绘画波普艺术风格人像
- 如何基于TwinCAT3实现伺服电机控制(一)
- 麦克风和扬声器选型介绍
- 计算机组成原理选择题题库
- 如何利用Pspice仿真C-V特性