模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

输入格式:

输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。

输出格式:

在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。

输入样例:

1+2*10-10/2=

输出样例:

10

刚刷到这道题的时候直接懵了,思来想去好像也没有学过可以解决这道题的方法,于是继续跳过了这道题继续学习。直到今天回过头看,好像并没有那么困难。开始以为有一种可以直接读取一整道算式的字符串或方法,后来才想到,原来要使用循环,将一个个数据和运算符输入,再使用判断输入什么运算符时做什么运算。这样一想,这道题也没有那么难做。

使用while+switch case或者if else都可以解决

因为刚学switch case 所以我选择了用它来编

#include <stdio.h>int main() {int a, b;char c;scanf("%d", &a);while (scanf("%c", &c)) {switch (c) {case'+':scanf("%d", &b);a += b;break;case'-':scanf("%d", &b);a -= b;break;case'*':scanf("%d", &b);a *= b;break;case'/':scanf("%d", &b);if (b == 0) {printf("ERROR");return 0;} else {a /= b;}case'=':printf("%d", a);return 0;default:printf("ERROR");return 0;}}return 0;}

写这串代码的时候还是遇到不少问题,例如char和%c也是首次使用

我对其中的break和return 0还理解得不够透彻,导致总是编不出满分的程序,先记录下来~

共勉!!

7-20 简单计算器 (20 分)————从0学C/浙大pta入门c语言题目相关推荐

  1. 7-2 I Love GPLT (5 分)初用数组————从0学C/浙大pta入门c语言题目

    这道超级简单的题目没有任何输入. 你只需要把这句很重要的话 -- I Love GPLT --竖着输出就可以了. 所谓"竖着输出",是指每个字符占一行(包括空格),即每行只能有1个 ...

  2. 习题2.1 简单计算器 (20 分)

    习题2.1 简单计算器 (20 分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运 ...

  3. 7-20 简单计算器 (20分)

    7-20 简单计算器 (20分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运算算 ...

  4. 习题6-7 简单计算器 (20 分)

    习题6-7 简单计算器 (20 分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运 ...

  5. 简单计算器 (20 分)

    简单计算器 (20 分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运算算式,没有 ...

  6. 06-1. 简单计算器(20)

    06-1. 简单计算器(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 张彤彧(浙江大学) 模拟简单运算器的工作.假设计算器只 ...

  7. L2-1 简单计算器 (25 分)详解c语言 模拟堆栈

    L2-1 简单计算器 (25 分) 本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器.如上图所示,计算器由两个堆栈组成,一个堆栈 S​1存放数字,另一个堆栈 S​2 存放运算符.计算 ...

  8. 7-13 简单计算器 (25 分)

    7-13 简单计算器 (25 分) 本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器.如上图所示,计算器由两个堆栈组成,一个堆栈 S1​ 存放数字,另一个堆栈 S2​ 存放运算符.计 ...

  9. 7-12 两个数的简单计算器 (10 分)

    7-12 两个数的简单计算器 (10 分) 本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加.减.乘.除或求余运算.题目保证输入和输出均不超过整型范围. 输入格式: 输入在一行中依 ...

最新文章

  1. 0与1c语言编译,C语言程序设计(07776-1)第11章编译预处理课案.ppt
  2. 【跃迁之路】【530天】刻意练习系列289(2018.07.20)
  3. 深入浅出WPF——附加事件(Attached Event)
  4. 云平台架构实践中的微服务分解原则
  5. distable:table-cell
  6. C# 打开Word文档错误
  7. SpringCloud底层原理
  8. 日志分析系统分类有哪些_Java开发日志规范
  9. Wide character in print at ../lib/MonWalkProc.pm line 569.
  10. Ubuntu 修改IP地址
  11. 股票大宗交易对股价走势的影响
  12. 重装系统后git库不能使用_重装系统后git库初始化
  13. ipsec ikev2 中转
  14. 蛮力法的相关问题总结
  15. c语言课程设计学生信息管理系统
  16. Groovy(Java笨狗)系列--fields and local variables
  17. 怎么调整计算机的音量,教你电脑声音如何调大
  18. 基于讯飞AI接口的物体识别 详细教程
  19. Java框架开发基础-解析XML文件
  20. 2022实操搬砖副业攻略

热门文章

  1. SylixOS中的线程【5】--- 线程结束
  2. 年薪三万VS年薪十万,你会怎么选?
  3. Java初学日记七之系统异常类
  4. 人际交往里的一些真相:切莫交浅言深
  5. 恒压恒流数控电源,恒压电源,恒流电源
  6. oneinstack卸载mysql_oneinstack
  7. 免费域名注册的一些知识以及域名解析相关知识
  8. centos 用青龙面板刷京豆
  9. CPU组成原理及基本运算过程
  10. HDU 5304 Eastest Magical Day Seep Group's Summer(状压DP+环缩点+生成树计数)