计算机挑战赛3

devtools/2024/10/19 9:37:20/

老式的计算机只能按照固定次序进行运算,华安大学就有这样一台老式计算机,计算模式为A@B#C,@和#为输入的运算符(可能是+、-或*,运算符优先级与C++一致),现给出A,B,C的数值以及@和#对应的运算符,请你编写程序,验证老式计算机的运行结果。输入说明:第一行是一个整数N(IN≤10000),表示有N组计算数据需要处理,接下来N行,每行是相应的数据,包括三个整数和两个运算符,分别对应A、@、B、#和C。输出说明:对每行输入的数据,输出计算结果。输入样例:

3

1 - 12 + 12

12 * 1 - 8

13 + 13 * 2

输出样例:

23

4

39

代码:

C++:

#include<iostream>
using namespace std;
int main() {int n;cin >> n;for (int i = 0; i < n; i++) {int a, b, c;char d, e;cin >> a >> d >> b >> e >> c;if (d == '+' && e == '+') {cout << a + b + c << endl;}else if (d == '+' && e == '-') {cout << a + b - c << endl;}else if (d == '+' && e == '*') {cout << a + b * c << endl;}else if (d == '-' && e == '-') {cout << a - b - c << endl;}else if (d == '-' && e == '+') {cout << a - b + c << endl;}else if (d == '-' && e == '*') {cout << a - b * c << endl;}else if (d == '*' && e == '+') {cout << a * b + c << endl;}else if (d == '*' && e == '-') {cout << a * b - c << endl;}else if (d == '*' && e == '*') {cout << a * b * c << endl;}}return 0;
}

Python:

n = int(input())
for i in range(0, n, 1):a, d, b, e, c = map(str, input().split())if d == '+' and e == '+':print(int(a) + int(b) + int(c))elif d == '+' and e == '-':print(int(a) + int(b) - int(c))elif d == '+' and e == '*':print(int(a) + int(b) * int(c))elif d == '-' and e == '+':print(int(a) - int(b) + int(c))elif d == '-' and e == '-':print(int(a) - int(b) - int(c))elif d == '-' and e == '*':print(int(a) - int(b) * int(c))elif d == '*' and e == '+':print(int(a) * int(b) + int(c))elif d == '*' and e == '-':print(int(a) * int(b) - int(c))elif d == '*' and e == '*':print(int(a) * int(b) * int(c))

Java:

package com.my.gududu;import java.util.*;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int n = input.nextInt();for (int i = 0; i < n; i++) {int a, b, c;char d, e;a = input.nextInt();d = input.next().charAt(0);b = input.nextInt();e = input.next().charAt(0);c = input.nextInt();if (d == '+' && e == '+') {System.out.println(a + b + c);}else if (d == '+' && e == '-') {System.out.println(a + b - c);}else if (d == '+' && e == '*') {System.out.println(a + b * c);}else if (d == '-' && e == '+') {System.out.println(a - b + c);}else if (d == '-' && e == '-') {System.out.println(a - b - c);}else if (d == '-' && e == '*') {System.out.println(a - b * c);}else if (d == '*' && e == '+') {System.out.println(a * b + c);}else if (d == '*' && e == '-') {System.out.println(a * b - c);}else if (d == '*' && e == '*') {System.out.println(a * b * c);}}}
}


http://www.ppmy.cn/devtools/125311.html

相关文章

Qt事件——鼠标事件

通过label来显示各种事件 鼠标按下事件 //按下显示坐标 void MyLabel::mousePressEvent(QMouseEvent * ev) {int i ev->x();int j ev->y();//判断按下的鼠标键位if (ev->button() Qt::LeftButton) {qDebug() << "LeftButton";}else if (ev->bu…

Pytest中fixture的scope详解

pytest作为Python技术栈下最主流的测试框架&#xff0c;功能极为强大和灵活。其中Fixture夹具是它的核心。而且pytest中对Fixture的作用范围也做了不同区分&#xff0c;能为我们利用fixture带来很好地灵活性。 下面我们就来了解下这里不同scope的作用 fixture的scope定义 首…

SAP SD学习笔记09 - 受注传票中的不完全Log 和 Business Partner(取引先机能)

好久没写SD了&#xff0c;今天继续写。 上一章讲了SD的如下知识 - SD的售前的流程&#xff08;引合和見積&#xff08;询价和报价&#xff09;&#xff09; - 数据流的概念&#xff0c;主要就是后传票可以参照前传票&#xff0c;以实现数据的流动&#xff0c;减少输入 - Co…

python之详解列表

有序的可变容器&#xff0c;可以存储不同类型的元素。用中括号[]表示。 1、列表的查找访问 1.1、通过下标查找。 与字符串类似&#xff0c;列表也可通过 列表名[index] 的方式查找其中的元素。 索引的初始值为0&#xff0c;最大值为列表长度-1。 示例&#xff1a; list1 …

【linux】信号(下)

8. 阻塞信号 (一)信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery)信号从产生到递达之间的状态,称为信号未决(Pending)进程可以选择阻塞 (Block )某个信号被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作(即被阻塞的信…

163页PPT罗兰贝格品牌战略升级:华为案例启示与电器集团转型之路

罗兰贝格作为一家全球顶级的战略管理咨询公司&#xff0c;其品牌战略升级理念在多个行业中得到了广泛应用。以下将以华为案例为启示&#xff0c;探讨电器集团的转型之路&#xff0c;并融入罗兰贝格品牌战略升级的思想。 一、华为案例的启示 华为与罗兰贝格联合撰写的《数据存…

es中的match,term,match_phrase

简单描述下&#xff0c; match,分词匹配搜索&#xff0c;会先对搜索词进行分词&#xff0c;然后对分词结果匹配&#xff0c;分词一个或者多个存在即可匹配成功 term,完全匹配/精确查询 搜索不会分词 match_phrase紧临搜索&#xff0c;所有分词必须出现、出现顺序和搜索词中一致…

[Linux] Linux 模拟实现 Shell

标题&#xff1a;[Linux] Linux 模拟实现 Shell 个人主页水墨不写bug&#xff08;图片来源于网络&#xff09; 目录 一、什么是shell 二、shell的理解 三、模拟实现shell 1&#xff09;打印命令行提示 2&#xff09;获取用户的输入字符串 3&#xff09;分割命令字符串 4…