逆波兰计算器的完整C代码怎么写
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章给大家介绍逆波兰计算器的完整C代码怎么写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。/* 逆波兰计算器 */#include#include#include#inclu
千家信息网最后更新 2025年11月14日逆波兰计算器的完整C代码怎么写
这篇文章给大家介绍逆波兰计算器的完整C代码怎么写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
/* 逆波兰计算器 */#include#include #include #include typedef double Elemtype;typedef struct StackNode { Elemtype data; struct StackNode *next;}StackNode, *pStackNode;typedef struct LinkStack { pStackNode top; int count;}LinkStack, *pLinkStack;//链栈创建和初始化pLinkStack InitStack ( void ){ pLinkStack s = (pLinkStack)malloc(sizeof(LinkStack)); s -> top = NULL; s -> count = 0; return s;}//链栈是否为空int StackEmpty( pLinkStack s ){ return (s -> top == NULL ? 1 : 0 );}//链栈入栈void Push( pLinkStack s, Elemtype e ){ pStackNode p = (pStackNode)malloc(sizeof(StackNode)); p -> data = e; if( s -> top != NULL ) p -> next = s -> top; s -> top = p; s -> count++;}//链栈出栈Elemtype Pop( pLinkStack s ){ Elemtype temp; pStackNode p; if( StackEmpty(s) ) exit(0); temp = s -> top -> data; p = s -> top; s->top = s->top->next; free(p); s->count--; return temp;}int main(){ char c; Elemtype temp1, temp2; char str[20]; int i=0; pLinkStack s = InitStack(); printf("请输入表达式 :\n"); scanf("%c", &c); while( c != '\n' ) { while( isdigit(c) || c=='.' ) {//过滤数字 str[i++] = c; str[i] = '\0'; if( i>=20 ) printf("出错: 输入的数据过大!\n"); scanf("%c", &c); if( c == ' ' ) { Push( s, atof(str)); i = 0; break; } } switch( c ) { case '+': temp1 = Pop( s ) ; temp2 = Pop( s ) ; Push( s, temp2 + temp1 ); break; case '-': temp1 = Pop( s ) ; temp2 = Pop( s ) ; Push( s, temp2 - temp1); break; case '*': temp1 = Pop( s ) ; temp2 = Pop( s ) ; Push( s, temp2 * temp1); break; case '/': temp1 = Pop( s ) ; temp2 = Pop( s ) ; Push( s, temp2 / temp1); break; default: break; } scanf("%c", &c); } printf("结果为: %f\n", Pop(s)); return 0;}
关于逆波兰计算器的完整C代码怎么写就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
计算器
波兰
代码
内容
更多
帮助
输入
不错
兴趣
小伙
小伙伴
数字
数据
文章
知识
篇文章
结果
表达式
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
四川服务器机柜订制价格
软件开发费用怎么做会计分录
厦门微晟互联网科技黄伟
郴州软件开发学费
增强安全意识 维护网络安全
网络安全手抄报大学生精美
数据库读取分段
徐州营销网络技术哪个好
芜湖网络技术
一个服务器多少条域名
dell塔式服务器u盘装系统
江苏计算机软件开发平台
如何保证数据库数据的唯一性
深圳市莺笛网络技术有限图片
鄞州区立体化刀片服务器售后保障
期刊被数据库收录情况怎么写
如何导入网站数据库
提高安全意识网络安全全面排查
互联网公司服务器出事故
云免流服务器配置要求
蓝牙网络技术湖北
网络安全法体验
冬奥会期间网络安全保障工作报告
软件开发pot
网络安全防护设备定期检查
河南铭复技术网络技术有限公司
轻应用服务器满了怎么办
银行数据库设计
创建数据库的要求
七日杀联机出现服务器中此