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

题记(22)--计算表达式

目录

一、题目内容

二、输入描述

三、输出描述

四、输入输出示例

五、完整C语言代码


一、题目内容

对于一个不存在括号的表达式进行计算

二、输入描述

存在多组数据,每组数据一行,表达式不存在空格

三、输出描述

输出结果

四、输入输出示例

输入:

6/2+3+3*4

输出:

18

五、完整C语言代码

AC代码~
#include<stdio.h>
#include<string.h>int IsOper(char ch) {if (ch == '+' || ch == '-' || ch == '*' || ch == '/')return 1;elsereturn 0;
}
int main() {double S_num[100];int top2 = -1;char s[100];while (gets(s)) {int len = strlen(s);int i = 0;top2 = -1;char lastOper = '#';while (i < len) {if (i == 0) { // 处理第一个数int t = s[i] - '0';i++;while ('0' <= s[i] && s[i] <= '9') {t = t * 10 + (s[i] - '0');i++;}top2++;double x = t;S_num[top2] = x;}if (IsOper(s[i])) {lastOper = s[i];i++;} else {int t = s[i] - '0';i++;while ('0' <= s[i] && s[i] <= '9') {t = t * 10 + (s[i] - '0');i++;}double x = t;if (lastOper == '+' ) {top2++;S_num[top2] = x;} else if (lastOper == '-') {top2++;S_num[top2] = -x;} else if (lastOper == '*') {double numtop = S_num[top2];S_num[top2] = x * numtop;} else {double numtop = S_num[top2];S_num[top2] = numtop * 1.0 / x;}}}double sum = 0;for (int i = 0; i <= top2; i++)sum += S_num[i];int x2 = sum;printf("%d\n", x2);}return 0;
}

相关文章:

  • Unity中实现捏脸系统
  • HCIA-HarmonyOS设备开发认证-HarmonyOS简介
  • 大模型学习之书生·浦语大模型6——基于OpenCompass大模型评测
  • 安卓Spinner文字看不清
  • 基于yolov5-master和pyqt5的森林火灾监测软件
  • Webpack5入门到原理2:基本使用
  • System.Data.SqlClient.SqlException:“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
  • Flash读取数据库中的数据
  • Hovel trump:
  • 第二章第10节:EXCEL :REPLACE函数 SUBSTITUTE函数
  • GPT帮我快速解决工作上的问题案例
  • Vue-Clipboard3:轻松实现复制到粘贴板功能
  • 前端基础:回顾es6相关知识
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • docker使用Dockerfile制做容器(以hyperf为列,开机启动)
  • classpath对获取配置文件的影响
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • export和import的用法总结
  • JavaScript 基础知识 - 入门篇(一)
  • leetcode386. Lexicographical Numbers
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • OSS Web直传 (文件图片)
  • PHP 7 修改了什么呢 -- 2
  • PHP的Ev教程三(Periodic watcher)
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 如何设计一个比特币钱包服务
  • 首页查询功能的一次实现过程
  • 协程
  • 一、python与pycharm的安装
  • elasticsearch-head插件安装
  • Linux权限管理(week1_day5)--技术流ken
  • 通过调用文摘列表API获取文摘
  • ​香农与信息论三大定律
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #每天一道面试题# 什么是MySQL的回表查询
  • (2.2w字)前端单元测试之Jest详解篇
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (C#)一个最简单的链表类
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (差分)胡桃爱原石
  • (论文阅读40-45)图像描述1
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)认识微服务
  • (正则)提取页面里的img标签
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .cfg\.dat\.mak(持续补充)
  • .NET CF命令行调试器MDbg入门(一)
  • .NET 药厂业务系统 CPU爆高分析
  • .net(C#)中String.Format如何使用
  • .NET6 命令行启动及发布单个Exe文件
  • 。Net下Windows服务程序开发疑惑
  • @Documented注解的作用
  • @font-face 用字体画图标
  • @KafkaListener注解详解(一)| 常用参数详解