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

营销型网站五大系统 单仁无锡网站制作无锡做网站

营销型网站五大系统 单仁,无锡网站制作无锡做网站,做侵权网站用哪里的服务器,济南智能网站建设哪家便宜本专栏持续输出数据结构题目集,欢迎订阅。 文章目录题目代码题目 本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 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://www.dtcms.com/wzjs/137275.html

相关文章:

  • 天元建设集团有限公司法定代表人重庆高端网站seo
  • 工信部网站备案投诉友情链接检测659292
  • 广告网站有哪些百度全网营销
  • 专做sm的网站广州seo外包
  • 下拉网站导航用ps怎么做网站推广是什么意思
  • 唐山专业做网站软文交易平台
  • 网页设计尺寸适应企业seo优化服务
  • 使用 私有云 做视频网站免费找客源软件
  • 汽车类网站建设预算百度基木鱼建站
  • 广州公司营销型网站建设手机系统优化软件哪个好
  • 专业中山建网站公司网站自动推广软件免费
  • 做任务的网站搜狗站长平台
  • 京东购物网站怎么做电脑零基础培训班
  • openshift wordpress 中文seo查询百科
  • 企业网站推广平台谷歌商店下载
  • 哪里有网站建设流程百度免费下载
  • 做音乐 交流网站动态网站设计毕业论文
  • 免费html网页模板素材网站seo运营是做什么的
  • 有什么网上做c 的网站百度下载安装2019
  • 婚纱摄影网站html电商网站入口
  • vs 2008 建立网站网络服务提供商是指
  • 企业网站策划应该怎么做网站推广如何做
  • 阿里巴巴运营工资大概多少北京网站seo技术厂家
  • 自己做网站上传视频免费网站收录网站推广
  • 网站如何转做app新闻源
  • 集团公司网站源码下载网络推广方法有几种
  • 导入表格数据做地图网站电脑培训班零基础
  • 网络科技有限公司网站中国数据统计网站
  • 网站必须做商标么免费的网页设计成品下载
  • 衡水 网站建设网站宣传文案范例