C语言程序设计:模拟简单运算器的工作
C语言程序设计:模拟简单运算器的工作
1.题目
模拟简单运算器的工作,输入一个算式(没有空格),遇等号"="说明输入 结束,输出结果。假设计算器只能进行加、减、乘、除运算,运算数和结果都是整数,4 种运算符的优先级相同,按从左到右的顺序计算。例如,输入 1+2*10-10/2=后,输出10。试编写相应程序。其中的运算部分要求定义函数实现。
2.分析
1).首先他要求我们是输入一个算式,格式为:【1+2/3*4-5=】 ,输入输出结果都为整数
2).计算结果为 -1 ,忽略运算符的优先级,从左往右进行计算
3).算式中含有【=】才说明输入结束,否则可以一直输入
3.代码实现
void calculate()
{
while (1) {
char ch;
int a, sum;
a = sum = 0;
int b = 1;
scanf_s("%d", &a);
sum = a;
while (1) {
ch = getchar();
if (ch == '=') {
printf("result = %d\n", sum);
b = 0;
break;
}
scanf_s("%d", &a);
switch (ch) {
case '+':sum += a; break;
case '-':sum -= a; break;
case '*':sum *= a; break;
case '/':
if (a == 0) {
printf("error\n");
b == 0;
}
else sum /= a;
; break;
default:
b = 0;
printf("may be you should input =\n"); break;
}
if (b == 0) break;
}
}
return 0;
}
int main()
{
calculate();
return 0;
}
4.结尾
此代码有BUG,输入错误之后得第一次运行结果是会出错的,第一次接触C语言,不知道如何写,欢迎大佬指正。。。
C语言程序设计:模拟简单运算器的工作的更多相关文章
- 中国大学MOOC-翁恺-C语言程序设计习题集-解答汇总
中国大学MOOC-翁恺-C语言程序设计习题集 PAT 习题集 02-0. 整数四则运算(10) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standar ...
- 《C语言程序设计》编程总结汇总
<C语言程序设计>编程总结汇总 院系: 专业年级: 班级名称: 学号: 姓名: 指导教师: 完成时间: 自我评价: 计算机科学与技术专业教研室 2018 年秋季学期 第四周编程总结 题目4 ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
- Java语言程序设计-助教篇
1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...
- C语言程序设计实习报告
C语言程序设计实习报告 简介 语言实践心得体会范文在科技高度发展的今天,计算机在人们之中的作用越来越突出.而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此, ...
- Python语言程序设计之二--用turtle库画围棋棋盘和正、余弦函数图形
这篇笔记依然是在做<Python语言程序设计>第5章循环的习题.其中有两类问题需要记录下来. 第一是如何画围棋棋盘.围棋棋盘共有19纵19横.其中,位于(0,0)的星位叫天元,其余8个星位 ...
- Python语言程序设计之三--列表List常见操作和错误总结
最近在学习列表,在这里卡住了很久,主要是课后习题太多,而且难度也不小.像我看的这本<Python语言程序设计>--梁勇著,列表和多维列表两章课后习题就有93道之多.我的天!但是题目出的非常 ...
- 资深程序员推荐必备书籍 《C语言程序设计》
当下,IT行业发展日趋迅猛,产值成倍增长,高薪的诱惑更是驱使许多人想要进入IT行业发展.为了使大家更全面理解C语言程序设计,由千锋教研院高教产品研发部编著.清华大学出版社倾情出版的<C语言程序设 ...
- 李志杰的C语言程序设计第一次作业
这个作业属于C语言程序设计课程 : https://edu.cnblogs.com/campus/zswxy/CST2020-2 这个作业要求在哪里: https://edu.cnblogs.com/ ...
随机推荐
- [loj3277]星座3
如果不合法,利用贪心发现当且仅当某两个星星所构成的矩形中没有白点 反过来,考虑留下若干个星星,那么即要求留下的星星两两之间满足:$\max_{x_{1}\le i\le x_{2}}a_{i}\ge ...
- 应用程序池自动停止,事件查看器报错6D000780
20210913 今天中午网站突然报错,后台程序无法访问,503错误. 调查发现"应用程序池"被关闭,但是手动开启后不久,又被关闭. 本地调试没问题,所以一开始怀疑是服务器或者Ng ...
- Python3的运算符
比较运算符: == != < > <= >= 逻辑运算符 或与非 or and not x or y : x为true,则不计算y的值,直接返回ture x为false,则 ...
- Codeforces 571E - Geometric Progressions(数论+阿巴细节题)
Codeforces 题目传送门 & 洛谷题目传送门 u1s1 感觉此题思维难度不太大,不过大概是细节多得到了精神污染的地步所以才放到 D1E 的罢((( 首先我们对所有 \(a_i,b_i\ ...
- Xshell初步设置
目录 双击复制,右击粘贴 双击复制全路径 复制窗口:双击窗口 编码:设置utf-8 外观设置: 窗口化文件传输 vim中使用鼠标点击移动 隐藏/出现菜单栏 ctrl+鼠标控制字体大小 alt+O 弹出 ...
- PAML 选择压力的计算
简介 PAML(Phylogenetic Analysis by Maximum Likelihood)是伦敦大学的杨子恒(Yang Ziheng)教 授开发的一套基于最大似然估计来对蛋白质和核酸序列 ...
- 什么是总线、总线的类型、局部总线、局部总线类型和什么是接口方式?什么是IDE?什么是SCSI?
在安装电脑系统时,进行内核配置时涉及到各种总线类型,有必要了解一下什么是总线.总线的类型.局部总线.局部总线类型和接口方式. 1)总线总线是一组通信线.在机器内部, 各部件通过总线连接; 对于外部设备 ...
- EXCEL-对筛选出(单独手动隐藏行还是在统计范围内)的表格数据进行统计
=SUBTOTAL(3,A1:A5) #计算筛选出的表格中A1:A5中有几个值. =SUBTOTAL(3,I71:I21447) ,在I71:I21447之间计数,会自动略去没有筛选上的隐藏单元格 ...
- 关于JSONObject的性能问题
现有一段代码: private JSONObject override(User user, UserVO vo) { String json = JSON.toJSONString(vo); JSO ...
- c学习 - 算法
简介: 一个程序包括两方面内容:数据结构.算法 数据结构:对数据的描述,包括数据的类型和数据的组织形式 算法:对操作的描述,即操作步骤 (程序=算法+数据结构) 算法是灵魂,数据结构是加工对象,语言是 ...