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

重庆企业网站定制开发公司/搜索关键词排名优化服务

重庆企业网站定制开发公司,搜索关键词排名优化服务,国内wordpress案例,哪家公司做网站好C程序设计语言 (第二版) 练习 4-10 练习 4-10 另一种方法是通过getline函数读入整个输入行,这种情况下可以不使用getch与ungetch函数。请运用这一方法修改计算器程序。 注意:代码在win32控制台运行,在不同的IDE环境下…

C程序设计语言 (第二版) 练习 4-10

练习 4-10 另一种方法是通过getline函数读入整个输入行,这种情况下可以不使用getch与ungetch函数。请运用这一方法修改计算器程序。

注意:代码在win32控制台运行,在不同的IDE环境下,有部分可能需要变更。
IDE工具:Visual Studio 2010

 

代码块:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <string.h>#define MAXOP 100
#define NUMBER '0'
#define MAXVAL 100
#define BUFSIZE 100
#define VAR '1'
#define MAXLINE 1000int sp = 0;
double val[MAXVAL];int buf[BUFSIZE];
int bufp = 0;double variable[26];char line[MAXLINE];
int lineCount = 0;
int lineLen;void push(double f){if(sp < MAXVAL){val[sp++] = f;}else{printf("Error! Stack Full, can't push %g\n", f);}
}double pop(void){if(sp > 0){return val[--sp];}else{printf("Error! Stack Empty!\n");return 0.0;}
}void printTop(void){if(sp > 0){printf("Top: %g\n", val[sp-1]);}else{printf("Error! Stack Empty!\n");}
}void topCopy(void){if(sp > 0 || sp < MAXVAL){val[sp++] = val[sp-1];}else if(sp <= 0){printf("Error! Stack Empty!\n");}else{printf("Error! Stack Full!\n");}
}void swapTop(void){double temp;if(sp >= 2){temp = val[sp-1];val[sp-1] = val[sp-2];val[sp-2] = temp;}else{printf("Can't Swap Top Number!\n");}
}void emptyStack(void){for(int i = sp - 1; i >= 0; i--){val[i] = 0;}sp = 0;
}int getch(void){return (bufp > 0) ? buf[--bufp] : getchar();
}void ungetch(int c){if(bufp >= BUFSIZE){printf("Ungetch! Too many characters!\n");}else{buf[bufp++] = c;}
}int getline(char s[], int lim){int c, i;i = 0;while(--lim > 0 && (c = getchar()) != EOF && c != '\n'){s[i++] = c;}if(c == '\n'){s[i++] = c;}s[i] = '\0';return i;
}int getop(char s[]){int i, c;if(lineCount == 0){lineLen = getline(line, MAXLINE);}if(lineLen == 0){return EOF;}else{while((s[0] = c = line[lineCount++]) == ' ' || c == '\t');s[1] = '\0';if(lineCount >= lineLen){lineCount = 0;}if(c == 's'){int next1 = line[lineCount++];int next2 = line[lineCount++];if(next1 == 'i' && next2 == 'n'){return c;}}if(c == 'e'){int next1 = line[lineCount++];int next2 = line[lineCount++];if(next1 == 'x' && next2 == 'p'){return c;}}if(c == 'p'){int next1 = line[lineCount++];int next2 = line[lineCount++];if(next1 == 'o' && next2 == 'w'){return c;}}if(c >= 'a' && c <= 'z'){int next = line[lineCount++];if(next == ' '){return VAR;}}if(c == '-'){int next = line[lineCount++];if(!isdigit(next) && next != '.'){return c;}s[1] = c = next;i = 1;}else{i = 0;if(!isdigit(c) && c != '.'){return c;}}if(isdigit(c)){while(isdigit(s[++i] = c = line[lineCount++]));}if(c == '.'){while(isdigit(s[++i] = c = line[lineCount++]));}lineCount--;s[i] = '\0';if(lineCount >= lineLen){lineCount = 0;}return NUMBER;}
}int main(){int type;double op2;char s[MAXOP];while((type = getop(s)) != EOF){switch(type){case NUMBER:push(atof(s));break;case '+':push(pop() + pop());break;case '*':push(pop() * pop());break;case '-':op2 = pop();push(pop() - op2);break;case '/':op2 = pop();if(op2 != 0.0){push(pop() / op2);}else{printf("Error! Zero Divisor!\n");}break;case '%':op2 = pop();push((int)pop() % (int)op2);break;case 's':op2 = pop();push(sin(op2));break;case 'e':op2 = pop();push(exp(op2));break;case 'p':op2 = pop();push(pow(pop(), op2));break;case VAR:variable[s[0] - 'a'] = pop();push(variable[s[0] - 'a']);printf("%c = %lf\n", s[0], variable[s[0] - 'a']);break;case '\n':printf("\t%.8g\n", pop());break;default:printf("Error! Unknown Command %s\n", s);break;}}system("pause");return 0;
}

相关文章:

C //练习 4-10 另一种方法是通过getline函数读入整个输入行,这种情况下可以不使用getch与ungetch函数。请运用这一方法修改计算器程序。

C程序设计语言 &#xff08;第二版&#xff09; 练习 4-10 练习 4-10 另一种方法是通过getline函数读入整个输入行&#xff0c;这种情况下可以不使用getch与ungetch函数。请运用这一方法修改计算器程序。 注意&#xff1a;代码在win32控制台运行&#xff0c;在不同的IDE环境下…...

竞赛保研 基于深度学习的行人重识别(person reid)

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的行人重识别 该项目较为新颖&#xff0c;适合…...

Ncast盈可视 高清智能录播系统 IPSetup.php信息泄露+RCE漏洞复现(CVE-2024-0305)

0x01 产品简介 Ncast盈可视 高清智能录播系统是广州盈可视电子科技有限公司一种先进的音视频录制和播放解决方案,旨在提供高质量、高清定制的录播体验。该系统采用先进的摄像和音频技术,结合强大的软件平台,可以实现高清视频录制、多路音频采集、实时切换和混音、定制视频分…...

GO语言Context的作用

文章目录 Context为什么需要Context多任务超时例子Context结构 Context各种使用方法创建contextvalueCtxvalueCtx结构体WithValue cancelCtxcancelCtx结构体withCancel timerCtxWithDeadlineWithTimeout 总结 Context 为什么需要Context Go语言需要Context主要是为了在并发环…...

金和OA C6 upload_json 任意文件上传漏洞

产品介绍 金和网络是专业信息化服务商,为城市监管部门提供了互联网监管解决方案,为企事业单位提供组织协同OA系统开发平台,电子政务一体化平台,智慧电商平台等服务。 漏洞概述 金和 OA C6 upload_json接口处存在任意文件上传漏洞&#xff0c;攻击者可以通过构造特殊请求包上…...

大模型学习第四课

学习目标&#xff1a; XTuner 大模型单卡低成本微调实战 学习内容&#xff1a; Finetune简介XTuner介绍8GB显卡玩转LLM动手实战环节 学习时间&#xff1a; 20240110 学习产出&#xff1a; Finetune简介 增量预训练微调指令跟随微调LoRA,QLoRAXTuner 简介&#xff1a;适配多…...

Code Runner使用外部控制台,运行结束后等待用户输入

问题描述 网上让程序运行结束暂停的方法大多数只有两种&#xff1a; 1.末尾加上system(“pause”) 2.start /k cmd 第一种方法每一个程序都需要在最后加上这条命令很烦&#xff1b; 第二章方法cmd窗口在程序运行结束后不会自动关闭&#xff0c;需要用户手动关闭 我想找到一种…...

IC设计的前端和后端是如何区分的?

一、工作着重点不同 **1、IC前端&#xff1a;**根据芯片规格书完成SOC的设计和集成&#xff0c; 使用仿真验证工具完成SOC的设计验证。 **2、IC后端&#xff1a;**将前端设计产生的门级网表通过EDA设计工具进行布局布线和进行物理验证并最终产生供制造用的GDSII数据 二、工作…...

Unity WebView 中文输入支持

使用版本&#xff1a;Vuplex 3D WebView for Windows v4.4&#xff1b; 测试环境&#xff1a;unity editor 2020.3.40f1c1、Windows&#xff1b; 1、打开脚本CanvasWebVie!wPrefab 2、找到_initCanvasPrefab方法&#xff0c;约略在459行附近 3、添加一行代码&#xff1a; …...

x-cmd pkg | trdsql - 能对 CSV、LTSV、JSON 和 TBLN 执行 SQL 查询的工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trdsql 是一个使用 sql 作为 DSL 的强大工具: 采用 SQL 对 CSV、LTSV、JSON 和 TBLN 文件执行查询与 MySQL&#xff0c;Postgresql&#xff0c;Sqlite 的 Driver 协同&#xff0c;可以实现对应数据库的表与文件的 JO…...

Camunda Spin

Spin 常用于在脚本中解析json或者xml使用&#xff0c;S(variable) 表示构造成Spin对象&#xff0c;通过prop(“属性名”)获取属性值&#xff0c;通过stringValue()、numberValue()、boolValue() 等对类型转换。 repositoryService.createDeployment().name("消息事件流程&…...

strlen/Memcpy_s/strncasecmp

strlen 声明&#xff1a;size_t strlen(const char *str) 举例&#xff1a; #include <stdio.h> #include <string.h>int main () {char str[50];int len;strcpy(str, "This is runoob.com");len strlen(str);printf("|%s| 的长度是 |%d|\n"…...

水经微图安卓版APP正式上线!

在水经微图APP&#xff08;简称“微图APP”&#xff09;安卓版已正式上线&#xff01; 在随着IOS版上线约一周之后&#xff0c;安卓版终于紧随其后发布了。 微图安卓版APP下载安装 自从IOS版发布之后&#xff0c;就有用户一直在问安卓版什么时候发布&#xff0c;这里非常感谢…...

数据结构第十二弹---堆的应用

堆的应用 1、堆排序2、TopK问题3、堆的相关习题总结 1、堆排序 要学习堆排序&#xff0c;首先要学习堆的向下调整算法&#xff0c;因为要用堆排序&#xff0c;你首先得建堆&#xff0c;而建堆需要执行多次堆的向下调整算法。 但是&#xff0c;使用向下调整算法需要满足一个前提…...

[NSSRound#3 Team]This1sMysql

[NSSRound#3 Team]This1sMysql 源码 <?php show_source(__FILE__); include("class.php"); $conn new mysqli();if(isset($_POST[config]) && is_array($_POST[config])){foreach($_POST[config] as $key > $val){$value is_numeric($var)?(int)$…...

Android 通知简介

Android 通知简介 1. 基本通知 图1: 基本通知详情 小图标 : 必须提供,通过 setSmallIcon( ) 进行设置.应用名称 : 由系统提供.时间戳 : 由系统提供,也可隐藏时间.大图标(可选) : 可选内容(通常仅用于联系人照片,请勿将其用于应用图标),通过setLargeIcon( ) 进行设置.标题 : 可选…...

QT开发 2024最新版本优雅的使用vscode开发QT

▬▬▬▬▬▶VS开发QT◀▬▬▬▬▬ &#x1f384;先看效果 &#x1f384;编辑环境变量 如图添加环境变量&#xff01;&#xff01;&#xff01; 东西全在QT的安装目录&#xff01;&#xff01;&#xff01; 找到的按照我的教程再装一次&#xff01;&#xff01;&#xff01; 点…...

Redis性能大挑战:深入剖析缓存抖动现象及有效应对的战术指南

在实际应用中&#xff0c;你是否遇到过这样的情况&#xff0c;本来Redis运行的好好的&#xff0c;响应也挺正常&#xff0c;但突然就变慢了&#xff0c;响应时间增加了&#xff0c;这不仅会影响用户体验&#xff0c;还会牵连其他系统。 那如何排查Redis变慢的情况呢&#xff1f…...

基于SpringBoot的教学管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…...

机器学习之独热编码(One-Hot)

一、背景 在机器学习算法中&#xff0c;我们经常会遇到分类特征&#xff0c;例如&#xff1a;人的性别有男女&#xff0c;祖国有中国&#xff0c;美国&#xff0c;法国等。这些特征值并不是连续的&#xff0c;而是离散的&#xff0c;无序的。通常我们需要对其进行特征数字化。…...

IIS+SDK+VS2010+SP1+SQL server2012全套工具包及安装教程

前言 今天花了两个半小时安装这一整套配置&#xff0c;这个文章的目标是将安装时间缩短到1个小时 正文 安装步骤如下&#xff1a; VS2010 —> service pack 1 —>SQL server2012 —> IIS —> SDK 工具包链接如下&#xff1a; https://pan.baidu.com/s/1WQD-KfiUW…...

【昕宝爸爸小模块】HashMap用在并发场景存在的问题

HashMap用在并发场景存在的问题 一、✅典型解析1.1 ✅JDK 1.8中1.2 ✅JDK 1.7中1.3 ✅如何避免这些问题 二、 ✅HashMap并发场景详解2.1 ✅扩容过程2.2 ✅ 并发现象 三、✅拓展知识仓3.1 ✅1.7为什么要将rehash的节点作为新链表的根节点3.2 ✅1.8是如何解决这个问题的3.3 ✅除了…...

数据库索引

1、什么是索引&#xff1f;为什么要用索引&#xff1f; 1.1、索引的含义 数据库索引&#xff0c;是数据库管理系统中一个排序的数据结构&#xff0c;以协助快速查询&#xff0c;更新数据库中表的数据。索引的实现通常使用B树和变种的B树&#xff08;MySQL常用的索引就是B树&…...

开源知识库工具推荐:低成本搭建知识库

在信息爆炸的时代&#xff0c;企业和个体对知识的存储和管理需求日益增强。开源知识库工具因其开源、免费、高效的特性&#xff0c;成为了众多组织和个人的首选。如果你正在寻找一款优秀的开源知识库工具&#xff0c;本文将为你推荐三款性能优异的产品&#xff0c;感兴趣就往下…...

C# Chart控件

// 定义图表区域 this.chart1.ChartAreas.Clear(); ChartArea chartArea1 new ChartArea("C1"); this.chart1.ChartAreas.Add(chartArea1); //定义存储和显示点的容器 this.chart1.Series.Clear(); Series series1 new Series("OK"); //series1.ChartAre…...

OpenCV C++ 图像处理实战 ——《多尺度自适应Gamma矫正的低照图像增强》

OpenCV C++ 图像处理实战 ——《多尺度自适应Gamma矫正的低照图像增强》 一、结果演示二、多尺度自适应Gamma矫正的低照度图像增强2.1HSI颜色空间2.1.1 功能源码2.2 自适应于直方图分布的 Gamma 矫正2.2.1 功能源码2.3 多尺度 Retinex 分解与明度增强2.3.1 功能源码三、源码测试…...

原型模式

为什么要使用原型模式 不用重新初始化对象&#xff0c;而是动态地获得对象运行时的状态。适用于当创建对象的成本较高时&#xff0c;如需进行复杂的数据库操作或复杂计算才能获得初始数据。 优点是可以隐藏对象创建的细节&#xff0c;减少重复的初始化代码&#xff1b;可以在…...

linux centos 账户管理命令

在CentOS或其他基于Linux的系统上&#xff0c;账户管理涉及到用户的创建、修改、删除以及密码的管理等任务。 linux Centos账户管理命令 1 创建用户&#xff1a; useradd username 这将创建一个新用户&#xff0c;但默认不会创建家目录。如果想要创建家目录&#xff0c;可以…...

【JavaWeb学习笔记】19 - 网购家居项目开发(上)

一、项目开发流程 程序框架图 项目具体分层方案 MVC 1、说明是MVC MVC全称: Mode模型、View视图、Controller控制器。 MVC最早出现在JavaEE三层中的Web层&#xff0c;它可以有效的指导WEB层的代码如何有效分离&#xff0c;单独工作。 View视图:只负责数据和界面的显示&…...

强化学习的数学原理学习笔记 - RL基础知识

文章目录 Roadmap&#x1f7e1;基础概念贝尔曼方程&#xff08;Bellman Equation&#xff09;基本形式矩阵-向量形式迭代求解状态值 vs. 动作值 &#x1f7e1;贝尔曼最优方程&#xff08;Bellman Optimality Equation&#xff0c;BOE&#xff09;基本形式迭代求解 本系列文章介…...