244-16进制的简单运算
内存限制:64MB
时间限制:1000ms
特判: No
通过数:12
提交数:13
难度:1
题目描述:
现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果。
输入描述:
第一行输入一个正整数T(0<T<100000) 接下来有T行,每行输入一个字符串s(长度小于15)字符串中有两个数和一个加号或者一个减号,且表达式合法并且所有运算的数都小于31位
输出描述:
每个表达式输出占一行,输出表达式8进制的结果。
样例输入:
3 29+4823 18be+6784 4ae1-3d6c
样例输出:
44114 100102 6565
C/C++ AC:
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cstdio> 5 #include <cmath> 6 #include <stack> 7 #include <set> 8 #include <map> 9 #include <queue> 10 #include <climits> 11 #define PI 3.1415926 12 13 using namespace std; 14 int n, A[110]; 15 16 int main() 17 { 18 cin >>n; 19 while (n --) 20 { 21 int a, b; 22 char c; 23 scanf("%x%c%x", &a, &c, &b); 24 // scanf("%X", &a); 针对的是字母为大写的16进制 25 switch (c) 26 { 27 case '+': 28 printf("%o ", a + b); break; // octal 29 default: 30 printf("%o ", a - b); 31 } 32 } 33 }