题目1101 :计算表达式 (运算符操作)方法比较简洁

题目1101:计算表达式

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:5469

解决:1703

题目描述:

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

输入:

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

输出:

输出结果

样例输入:
6/2+3+3*4
样例输出:
18
#include <iostream>
#include<stdio.h>
using namespace std;
//6/2+3+3*4
int main()
{
   char ch;
   int i,temp,a[200];
   while(scanf("%d",&temp)!=EOF)
   {
       i=1;
       a[0]=0;//用于存储最终的和
       a[1]=temp;//保留第一位数字
       while(scanf("%c",&ch)!=EOF&&ch!=‘\n‘)//取运算符
       {
           scanf("%d",&temp);//取运算符后的数字
           if(ch==‘-‘) a[++i]=-temp;
           else if(ch==‘+‘) a[++i]=temp;
           else if(ch==‘*‘) a[i]*=temp;
           else if(ch==‘/‘) a[i]/=temp;
       }
       for(int j=1;j<=i;j++)
       {
           a[0]+=a[j];
       }
       printf("%d\n",a[0]);

   }
    return 0;
}

/**************************************************************
    Problem: 1101
    User: zhuoyuezai
    Language: C++
    Result: Accepted
    Time:0 ms
    Memory:1520 kb
****************************************************************/

时间: 2024-11-04 18:38:04

题目1101 :计算表达式 (运算符操作)方法比较简洁的相关文章

九度[1101]计算表达式

1 # include<cstdio> 2 # include<iostream> 3 # include<cstring> 4 using namespace std; 5 struct node{ 6 int value; 7 int next; 8 }a[500]; 9 char c[100]; 10 int main(){ 11 char s[500]; 12 while(scanf("%s",s)!=EOF){ 13 int l=strle

题目1101:计算表达式(栈的使用)

题目链接:http://ac.jobdu.com/problem.php?pid=1101 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: // // 1101 计算表达式.cpp // Jobdu // // Created by PengFei_Zheng on 06/05/2017. // Copyright © 2017 PengFei_Zheng. All rights reserved. // #include <stdi

Justinmind使用教程(2)——计算表达式及条件使用方法

Justinmind的计算表达式以及条件condition的使用对于初学者而言比较麻烦. 结合网上了一个教程本文主要针对计算器示例进行计算表达式以及条件的使用. 实现目标:根据单价(静态)和数量(动态),自动计算出金额.下图: 在数量文本框右侧添加两个矩形部件,上方为+,下方为-,点击+或-自动减1,当数量为0时,不允许计算. [具体步骤] (只介绍重点) 1.选中+:2.添加事件(点击+按钮设置数量+1): 3.事件为"鼠标单击时"(默认):4.选择动作为"设置值"

JavaScript表达式&amp;运算符

算术运算符 如果操作数(或者转换结果)是NaN值,算术运算的结果也是NaN. 除数为0的运算结果为正无穷大或负无穷大,而0/0的结果是NaN,所有这些运算均不会报错. "+"运算符 如果其中一个操作数是对象,则将对象转换成原始值(除日期对象外都优先使用valueOf()转换). 在进行了对象到原始值的转换后,如果其中一个操作数是字符串的话,另一个操作数也会转换为字符串,然后进行字符串连接. 否则,两个操作数都将转换为数字(或者NaN),然后进行加法操作. 1 + 2 // 3 &quo

12.6 实现选项的计算表达式

在 12.4 节,我们用选项值作为示例,介绍了用 LINQ 查询和 F# 计算表达式创建非标准计算的概念,处理选项值的代码,有自定义的值绑定读取实际值,如同标准值.既然我们已经知道如何转换计算表达式,也就知道我们的 Bind 成员会接收值和 lambda 函数.因为我们处理的是选项类型计算表达式,只有当值是 Some(x) 而不是 None 时,我们才打算执行 lambda 表达式:后一种情况,我们可以立即返回 None. 要运行前面的例子,我们需要在 C# 中实现 LINQ 查询运算符,在 F

华为上机练习题--计算表达式

题目: 输入一个表达式,没有括号,数字小于0-9之间,输出计算结果,所有的中间结果化为整形. 例如:  输入:3+8×2/9-2 输出:2 函数原型 public int getMyRet(String str) 分析: 这个题目略显高端啊, 像我这种非专业的自学者,还真没有学过编译原理之类的课程, 要自己实现一个这种小型的编译器是非常困难啊, 所幸的是这个题目是用java来实现的, 而我本身也曾经看到过用java来实现这类的问题, 这类问题有一种方法就是实现类编译器功能的函数, 这个我是驾驭不

MySQL 聚合函数、运算符操作、约束

4.聚合函数 1.分类 avg(字段名) : 求该字段平均值 sum(字段名) : 求和 max(字段名) : 最大值 min(字段名) : 最小值 count(字段名) : 统计该字段记录的个数2.示例 1.攻击力最强值是多少 select max(gongji) from MOSHOU.sanguo; 2.统计id .name 两个字段分别有几条记录 select count(id),count(name) from sanguo; ## 空值 NULL 不会被统计,""会被统计

Util应用程序框架公共操作类(十二):Lambda表达式公共操作类(三)

今天在开发一个简单查询时,发现我的Lambda操作类的GetValue方法无法正确获取枚举类型值,以至查询结果错误. 我增加了几个单元测试来捕获错误,代码如下. /// <summary> /// 测试值为枚举 /// </summary> [TestMethod] public void TestGetValue_Enum() { var test1 = new Test1(); test1.NullableEnumValue = LogType.Error; //属性为枚举,值

C#计算表达式(仿计算器功能)

一.用MSScriptControl在C#中执行JavaScript代码javascript中有个eval方法用过的人都知道他的方便和强大之处.在C#中,我们也可以通过Com组件来执行一段javascript代码.下面的代码展示了如何用MSScriptControl 组件执行一段数学表达式: MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass(); sc.Language = "javasc