2016-2017学年第三次测试赛 习题E 林喵喵算术

Posted William_xh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016-2017学年第三次测试赛 习题E 林喵喵算术相关的知识,希望对你有一定的参考价值。

时间限制: 1 Sec  内存限制: 128 MB

提交: 70  解决: 25

提交统计讨论版

 

题目描述

给你两个八进制数,你需要在八进制计数法的情况下计算a-b。

如果结果为负数,你应该使用负号代替补码。

 

输入

输入的第一个数字为T,表式测试的样例的组数(1 <= T <= 1000)。

每组数据包括两个八进制数a,b.

 

输出

输出计算结果,同样八进制表示。如果结果为负数,你应该使用负号代替补码。

 

样例输入

2

176 7

4 14

样例输出

167

-10

思路:水题,很简单,就是C++简单的八进制的读入和输出,参考杭电的1720题目http://www.cnblogs.com/William-xh/p/6798518.html

将十六进制转换为十进特例:
AB转换为dec;
0xAB
= 0x0A * 16 + 0x0B
= 10 * 16 + 11
= 171
 
c 输入十六进制和八进制方法:
scanf(“%x %x”,&a,&b);
scanf(“%o %o”,&a,&b);
 
c++ 方法:
cin>>hex>>a>>b;
cin>>oct>>a>>b;
 
然后是负数的话就先判断大小,然后再大减小的再来个"-"号;完美AC
然后附上代码:
#include <iostream>
#include<math.h>
#include <iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<stdlib.h>
#include<iterator>
#include<sstream>
#include<string.h>
#include<stdio.h>
using namespace std;

int main()
{

    int n;
    cin>>n;
    int a,b;
    while(n--)
    {
        cin>>oct>>a>>b;
        if(a<b)
        {
            cout<<"-"<<oct<<b-a<<endl;
        }
        else
        {
            cout<<oct<<a-b<<endl;
        }

    }
    return 0;
}

 

很顺利的一题

 

以上是关于2016-2017学年第三次测试赛 习题E 林喵喵算术的主要内容,如果未能解决你的问题,请参考以下文章

闽江学院2015-2016学年下学期《软件测试》课程-第三次博客作业

2018.10.2浪在ACM 集训队第三次测试赛

软件测试第三次作业 课后习题7

软件测试第三次作业——习题2.3.7

2019天梯赛第三次训练赛

2016-2017学年校历