分享 C语言--四则混合运算(栈应用)(正负数,小数,括号和+-*/的优先级) 请在VS2019运行_c语言识别并计算四则混合运算,包括整数和小数-程序员宅基地

技术标签: 数据结构  

在这里插入图片描述

在这里插入代码片
```#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define Elemtype char
#define Elemtype1 double

typedef struct Node {
   
    
	Elemtype data;
	struct Node* pNext;
}Node,*pNode;

typedef struct Stack {
   
    
	pNode Base;
	pNode top;
	int num;
}Stack;

typedef struct Node1 {
   
    
	Elemtype1 data;
	struct Node1* pNext;
}Node1, * pNode1;

typedef struct Stack1 {
   
    
	pNode1 Base;
	pNode1 top;
	int num;
}Stack1;

void Init(Stack* s);
bool Empty_stack(Stack* s);
pNode Buy_node(Stack* s, Elemtype x);
void push_stack(Stack* s,Elemtype x);
void show_stack(Stack* s);
void Get_top(Stack* s, Elemtype* v);
void pop_stack(Stack* s);


void Init1(Stack1* s);
bool Empty_stack1(Stack1* s);
pNode1 Buy_node1(Stack1* s, Elemtype1 x);
void push_stack1(Stack1* s, Elemtype1 x);
void show_stack1(Stack1* s);
void Get_top1(Stack1* s, Elemtype1* v);
void pop_stack1(Stack1* s);



char Lz(char st, char sr1);
char Bat(char a, char bat, char b);
double Bat1(double a, double bat1, double b);
double Numzhuan(char* st1);
double zhuan10(int n);
void Outg(char* str, char* str1);

//
#include"Stackyy.h"

void Init(Stack* s)
{
   
    
	s->Base = s->top = (pNode)malloc(sizeof(Node));
	if (s->Base == NULL)
		exit(-1);
	s->Base->pNext = NULL;
	s->num = 0;
}
bool Empty_stack(Stack* s)
{
   
    
	if (s->Base = s->top)
		return true;
	else
		return false;
}
void pop_stack(Stack* s)
{
   
    
	pNode p = s->top;
	s->top = p->pNext;
	free(p);
	s->num--;
}
pNode Buy_node(Stack* s, Elemtype x)
{
   
    
	pNode p = (pNode)malloc(sizeof(Node));
	if (p == NULL)
		exit(-1);
	p->data = x;
	p->pNext = NULL;
	return p;
}
void push_stack(Stack* s,Elemtype x)
{
   
    
	pNode p = Buy_node(s, x);
	p->pNext = s->top;
	s->top = p;
	s->num++;
}
void show_stack(Stack* s)
{
   
    
	if (s->top == s->Base)
	{
   
    
		puts("空栈,不能遍历");
		return;
	}
	pNode p = s->top;
	while (p != s->Base)
	{
   
    
		printf("%c", p->data);
		p = p->pNext;
	}
	puts("");
}
void Get_top(Stack* s, Elemtype *v)
{
   
    
	if (s<
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46317193/article/details/106653862

智能推荐

Retrofit2.0解析时使用json而不使用Gson_retrofit不添加gson-程序员宅基地

文章浏览阅读1.1k次。Retrofit2.0解析时使用json而不使用Gson在开发过程中,难免会遇到一些后台接口写的不规范的json,使用Retrofit2.0的就不好使用Gson解析了,只能用json。 然而Retrofit2.0没有提供json解析器,因此这里有两种方法来使用。 如果不规范的Json就不好使用Gson如下:{ “success”: true, “result”: {_retrofit不添加gson

Java——抽象类+模板设计模式_java 抽象模板设计模式-程序员宅基地

文章浏览阅读842次,点赞11次,收藏8次。目录1.抽象类介绍2.抽象类细节3.抽象类细节024.抽象类实例(员工问题)test01.javaEmployee.javaManager.javaCommonEmployee.java1.抽象类介绍父类方法不确定性的问题===> 考虑将该方法设计为抽象(abstract)方法//===> 所谓抽象方法就是没有实现的方法//===> 所谓没有实现就是指,没有方法体//===> 当一个类中存在抽象方法时,需要将该类声明为abstract类//===> 一般来说,_java 抽象模板设计模式

数字信号处理第四次试验:IIR数字滤波器设计及软件实现-程序员宅基地

文章浏览阅读3.9w次,点赞121次,收藏570次。数字信号处理第四次试验:IIR数字滤波器设计及软件实现前言一、实验目的二、实验原理与方法三、实验环境四、实验内容及步骤五、实验结果截图(含分析)六、思考题前言为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正!一、实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波_iir数字滤波器设计及软件实现

arduino编乐谱_Arduino 蜂鸣器播放音乐简谱-程序员宅基地

文章浏览阅读1.4k次。代码:#define musicpin 5 //喇叭引脚int song[] = { //音乐音频392, 392, 440, 392, 523, 493,392, 392, 440, 392, 587, 523,392, 392, 784, 659, 523, 493, 440,698, 698, 659, 523, 587, 523};int noteDurations[] = { //音节长..._音乐简谱怎么编写arduino

C++ 输入函数 cin>>、cin.getline()和cin.get()区别_c++中cin.get和cin.getline的区别-程序员宅基地

文章浏览阅读351次。在字符串输入中,常用到cin,cin.getline()和cin.get()函数。cin>>通常只能读取一个单词。cin.getline()和cin.get()可以读取固定长度的字符串,含空格等符号。一、使用cin函数由于cin通过空格、制表符、换行符来界定字符串的。故cin在获取字符时只读取一个单词长度,对于有空格的字符串其空格后面字符读不了。例如:读取姓名#include

Unity VideoPlayer 视频播放问题:编辑器可以播放,打包之后真机黑屏,但有声音_unity videoplayer 打包后的问题-程序员宅基地

文章浏览阅读4.8k次。利用adb命令连接手机,log显示:ReportException: UnityLogError Could not find material Hidden/VideoDecodeAndroid。看看VideoDecodeAndroid是否加上。_unity videoplayer 打包后的问题

随便推点

h5 vue vant @click @bulr 或者 移动端touch 事件冲突 解决办法_vant swipe 点击和触摸冲突-程序员宅基地

文章浏览阅读2.2k次。场景 失焦的时候关闭 选择列表 但是同时 点击列表的时候会触发 bulr 事件 然后 click事件失效解决办法 click 换 mousedown ( tips:事件优先执行顺序 mousedown > bulr > click)如果是移动端 同理 touchstart > bulr > touch..._vant swipe 点击和触摸冲突

ChirpStack+NodeRed+Thingsboard+树莓派实现LoraWAN节点MQTT上下行数据通信,手把手呈现整个过程(三)_树莓派 thingsboard-程序员宅基地

文章浏览阅读466次,点赞5次,收藏10次。MQTT通信时候,我们要用到访问令牌,设备ID、管理凭据一般不用_树莓派 thingsboard

单路 PWM 控制的高调光比 LED 降压恒流控制器-程序员宅基地

文章浏览阅读164次。OC5401 是一款单路 PWM 控制的高调光比降压恒流驱动控制器,PWM 调光比最高可达 10000:1。OC5401 可通过外接电阻设置 LED 输出电流,最大支持 5A 以上。OC5401 支持模拟调光和 PWM 数字调光,具有良好的调光性能。OC5401 采用电流滞环控制方式,无需环路补偿。OC5401 内部集成了欠压保护、过温保护等功能。OC5401 支持 16-60V 输入电压范围。OC5401 采用 ESOP8 封装。10000:1 PWM 调光范围。250:1 模拟调光范围。

【单片机毕业设计】基于单片机的三路温湿度检测的设计_单片机 三路输入 检测-程序员宅基地

文章浏览阅读1.2k次。题目拓展:基于单片机的多路温湿度控制的设计基于单片机的恒温恒湿箱的设计基于单片机的保温保湿箱的设计项目编号:mcuclub-hj-004单片机类型:STC89C52、STM32F103C8T6具体功能:1、通过三路DHT11测量环境温湿度平均值,当温湿度不在设定的上下限值之内时,进行相应的加热制冷加湿除湿,并进行声光报警2、通过按键设置温湿度上下限值,可以手动控制加热制冷加湿除湿、切换模式3、通过显示屏显示数据。_单片机 三路输入 检测

bash: 未预期的符号 `newline' 附近有语法错误_未预期的符合newline附近有语法错误-程序员宅基地

文章浏览阅读3.5w次,点赞22次,收藏36次。问题描述:bash: 未预期的符号 `newline' 附近有语法错误解决方案:"&lt;"和"&gt;"改为单引号!参考:https://blog.csdn.net/yuan13091324/article/details/42168865_未预期的符合newline附近有语法错误

springboot少年宫活动中心后台管理系统、_少年宫信息管理系统-程序员宅基地

文章浏览阅读238次。下載地址:https://download.csdn.net/download/biyesheji250/28177516项目介绍:springboot少年宫活动中心后台管理系统、系统说明:项目引见本项目是少年儿童活动中心的选课系统,本选课系统是基于SpringBoot2.0 + Mybatis + Thymeleaf + Shiro 开发的后台管理系统,树立以Browser/Server 为构造形式、以数据库为后台中心应用、以效劳为目的信息化办公平台。完成对课程布置、报名缴费、数据记载和_少年宫信息管理系统

推荐文章

热门文章

相关标签