计算机挑战赛3

老式的计算机只能按照固定次序进行运算,华安大学就有这样一台老式计算机,计算模式为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++:

cpp 复制代码
#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:

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:

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);
            }
        }
    }
}
相关推荐
LDG_AGI8 分钟前
【推荐系统】深度学习训练框架(八):PyTorch分布式采样器DistributedSampler原理详解
人工智能·pytorch·分布式·深度学习·算法·机器学习·推荐算法
@小白鸽1 小时前
1.2磁盘存储链式的B树与B+树
数据结构·b树
Nebula_g2 小时前
C语言应用实例:背包DP1(Bone Collector、Piggy-Bank、珍惜现在,感恩生活)
算法
roman_日积跬步-终至千里2 小时前
【模式识别与机器学习(5)】主要算法与技术(中篇:概率统计与回归方法)之逻辑回归(Logistic Regression)
算法·机器学习·回归
阿巴~阿巴~7 小时前
JsonCpp:C++ JSON处理利器
linux·网络·c++·json·tcp·序列化和反序列化
Promise4857 小时前
贝尔曼公式的迭代求解笔记
笔记·算法
fish_xk8 小时前
数据结构之二叉树中的堆
数据结构
zmzb01038 小时前
C++课后习题训练记录Day38
开发语言·c++
獭.獭.8 小时前
C++ -- STL【string的使用】
c++·string·auto
福尔摩斯张9 小时前
Linux进程间通信(IPC)机制深度解析与实践指南
linux·运维·服务器·数据结构·c++·算法