当前位置: 首页 > wzjs >正文

网站建设苏州wordpress 中文版本

网站建设苏州,wordpress 中文版本,建站网站如何清理缓存,建站流程主要有哪些本专栏持续输出数据结构题目集,欢迎订阅。 文章目录题目代码题目 本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1 存放数字,另一个堆栈 S2 存放运算符。计算…

本专栏持续输出数据结构题目集,欢迎订阅。

文章目录

    • 题目
    • 代码

题目

在这里插入图片描述

本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1 存放数字,另一个堆栈 S2 存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就执行以下操作:

1.从 S1 中弹出两个数字,顺序为 n1 和 n2;
2.从 S2 中弹出一个运算符 op;
3.执行计算 n2 op n1;
4.将得到的结果压回 S1。

直到两个堆栈都为空时,计算结束,最后的结果将显示在屏幕上。

输入格式:
1.输入首先在第一行给出正整数 N(1<N≤10^3),为 S1 中数字的个数。
2.第二行给出 N 个绝对值不超过 100 的整数;第三行给出 N−1 个运算符 —— 这里仅考虑 +、-、*、/ 这四种运算。一行中的数字和符号都以空格分隔。

输出格式:
1.将输入的数字和运算符按给定顺序分别压入堆栈 S1​ 和 S2,将执行计算的最后结果输出。注意所有的计算都只取结果的整数部分。题目保证计算的中间和最后结果的绝对值都不超过 10^9。
2.如果执行除法时出现分母为零的非法操作,则在一行中输出:ERROR: X/0,其中 X 是当时的分子。然后结束程序。

输入样例 1:
5
40 5 8 3 2
/ * - +

输出样例 1:
2

输入样例 2:
5
2 5 8 4 4
* / - +

输出样例 2:
ERROR: 5/0

题目引用自团体程序设计天梯赛真题(2020年)。

代码

#include <stdio.h>
#include <stdlib.h>typedef struct Stack {int *data;int top;int capacity;
} Stack;Stack* createStack(int capacity) {Stack* stack = (Stack*)malloc(sizeof(Stack));stack->data = (int*)malloc(sizeof(int) * capacity);stack->top = -1;stack->capacity = capacity;return stack;
}int isEmpty(Stack* stack) {return stack->top == -1;
}void push(Stack* stack, int value) {stack->data[++stack->top] = value;
}int pop(Stack* stack) {return stack->data[stack->top--];
}int peek(Stack* stack) {return stack->data[stack->top];
}int main() {int N;scanf("%d", &N);Stack* S1 = createStack(N);Stack* S2 = createStack(N-1);// 读取数字压入S1for (int i = 0; i < N; i++) {int num;scanf("%d", &num);push(S1, num);}// 读取运算符压入S2for (int i = 0; i < N-1; i++) {char op[2];scanf("%s", op);push(S2, op[0]);}// 执行计算while (!isEmpty(S2)) {int n1 = pop(S1);int n2 = pop(S1);char op = pop(S2);int result;if (op == '/' && n1 == 0) {printf("ERROR: %d/0\n", n2);free(S1->data);free(S1);free(S2->data);free(S2);return 0;}switch (op) {case '+':result = n2 + n1;break;case '-':result = n2 - n1;break;case '*':result = n2 * n1;break;case '/':result = n2 / n1;break;}push(S1, result);}printf("%d\n", pop(S1));free(S1->data);free(S1);free(S2->data);free(S2);return 0;
}

文章转载自:

http://hOlSXgfF.wkqny.cn
http://nyQXaOMK.wkqny.cn
http://eKeyOn0N.wkqny.cn
http://7x2OC10T.wkqny.cn
http://JxBq93I9.wkqny.cn
http://CM39XAWn.wkqny.cn
http://hq5lzgnD.wkqny.cn
http://pNGdvSxI.wkqny.cn
http://gkDpLJwf.wkqny.cn
http://O0HkkDxO.wkqny.cn
http://r8cGMRtg.wkqny.cn
http://cRjQOkqd.wkqny.cn
http://3Bwv4z17.wkqny.cn
http://YG82PpEH.wkqny.cn
http://QKB6gmIn.wkqny.cn
http://iM92VceO.wkqny.cn
http://ECs81TDw.wkqny.cn
http://pY0SWouy.wkqny.cn
http://IXiY9WDO.wkqny.cn
http://94QImKZZ.wkqny.cn
http://NefH3RkS.wkqny.cn
http://Cf1O69U8.wkqny.cn
http://iJwfVmls.wkqny.cn
http://GeBxWaxO.wkqny.cn
http://qPll7Sca.wkqny.cn
http://dj8j7HiH.wkqny.cn
http://rdUtoDkx.wkqny.cn
http://gbQkgqXi.wkqny.cn
http://kFRs9QDa.wkqny.cn
http://ffSBl7SB.wkqny.cn
http://www.dtcms.com/wzjs/718903.html

相关文章:

  • 网站酷站设置html编辑器
  • 简单的企业网站cms淳安县千岛湖建设集团网站
  • 网站关键词检测小红书推广引流
  • 做女装的网站网页设计入门书
  • 做网站找那个公司网站开发设计中的收获
  • 思源黑体可以做网站logo设计网站排行榜
  • 农业交易平台网站建设婚庆类的模板网站
  • 网站开发交付清单上海网站建设 分类广告
  • 矢量网站动画怎么做短视频seo询盘系统
  • 即墨做网站的我想学制作网站吗
  • 网站删除期查询健身器材 网站模版
  • 注册公司网站怎么做莱芜都市网房产频道
  • 精品课程网站群晖wordpress 映射
  • 什么网站允许搭建徐汇网站制作
  • 做兼职网站有哪些大学生创意产品设计方案
  • 北京主页网站建设西安最好的互联网公司排名
  • 南宁制作网站如何为网站建设内容
  • 不会编程能建网站包头网站开发建设
  • 网站首页排名突然没了网站后台构建
  • 济宁网站建设费用网络工程师中级职称报考条件
  • 全国做网站的公html5响应式网站建设平台
  • 东莞网站建设 模具程序员就是做网站的吗
  • 凡科轻站小程序模板网络营销与网络推广的异同
  • 域名注册哪个网站最便宜网站找什么公司做
  • 水墨网站模板wordpress如何添加广告代码
  • 网站排版策划关键词异地排名查询
  • 怎么看网站做没做优化企业网站建设情况
  • 建网站能在家里做吗京山网站开发
  • 学习电子商务网站建设与管理的感想广州做网络服装的网站
  • 连云港网站建设培训猎头公司前十名有哪些