16进制的简单运算

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描述
现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果。

输入
第一行输入一个正整数T(0<T<100000)
接下来有T行,每行输入一个字符串s(长度小于15)字符串中有两个数和一个加号或者一个减号,且表达式合法并且所有运算的数都小于31位
输出
每个表达式输出占一行,输出表达式8进制的结果。
样例输入
3
29+4823
18be+6784
4ae1-3d6c
样例输出
44114
100102
6565

//代码:

[html] view plaincopy print?
  1. #include<stdio.h>
  2. int main(){
  3. int T,x,y;
  4. char ch;
  5. scanf("%d",&T);
  6. while(T--){
  7. scanf("%x%c%x",&x,&ch,&y);
  8. if(ch=='+')
  9. printf("%o\n",x+y);
  10. else
  11. printf("%o\n",x-y);
  12. }
  13. return 0;
  14. }

//最开始把问题想复杂了,用字符串数组模拟的,忘记用数据的基本格式类型就可以转化!!!!C语言的基本知识还是需要强化!!!!

格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。不同类型的数据用不同的格式字符。 
格式字符有d,o,x,u,c,s,f,e,g等。 

%d整型输出,%ld长整型输出,

%o以八进制数形式输出整数,

%x以十六进制数形式输出整数,

%u以十进制数输出unsigned型数据(无符号数)。

%c用来输出一个字符,

%s用来输出一个字符串,

%f用来输出实数,以小数形式输出,

%e以指数形式输出实数,

%g根据大小自动选f格式或e格式,且不输出无意义的零。

scanf(控制字符,地址列表) 
格式字符的含义同printf函数,地址列表是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。如scanf("%d%c%s",&a,&b,str);

另外一种做法,可以顺便学习C++的输入输出

       #include<iostream>
#include<iomanip>
#include<cstdio>
using namespace std;
int main(){ios::sync_with_stdio(false);int t;cin>>t;while(t--) {int x,y;char op;cin>>hex>>x>>op>>y;if(op == '+')cout<<setbase(8)<<(x+y)<<endl;else cout<<setbase(8)<<(x-y)<<endl;}return 0;
}            

▲setbase(int n) : 将数字转换为 n 进制.
   如 cout<<setbase(8)<<setw(5)<<255<<endl;
    cout<<setbase(10)<<setw(5)<<255<<endl;
    cout<<setbase(16)<<255<<endl;
   结果是:
   (空格)(空格)377
   (空格)(空格) 255
   (空格)(空格) ff

hex 是16进制,oct是8进制,dec是10进制

题目244-16进制的简单运算相关推荐

  1. nyoj244 16进制的简单运算

    16进制的简单运算 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果. 输入 第一行输入一个正整数T(0 ...

  2. python实现颜色RGB转换颜色16进制

    python实现颜色RGB转换颜色16进制 超级简单的实现过程 #coding:utf-8def RGB_to_Hex(tmp):rgb = tmp.split(',')#将RGB格式划分开来strs ...

  3. 16进制转换为10进制数——算法

    16进制转换为10进制数 题目描述 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示 ...

  4. C++ 字符串字符转为16进制

    对字符串进行解析并转为16进制 一个简单的字符串解析练习 效果如下图: 思路如下: 1. C++在存储字符时实质上是存储字符的ASC码,既字符的int型即为ASC码. 2. 通过进制转换,得到字符的A ...

  5. 简单题目:给出一个整数,转换为16进制的字符

    一 题目 给出一个整数,转换成16进制的字符输出. 二 问题分析 利用进制转换方法:用按权展开法. 然后,1500的十六进制转换结果为:5DC 三 代码 3.1 C实现 char * convertT ...

  6. ntohs的一个简单实现(将网络流中用两个字节16进制表示的资源数(如DNS)和长度转换为整形)...

    我们知道在由于大端机和小端机导致网络字节序和主机序有可能是有差异的,我们可以使用系统的ntohs,ntohl,htons和htonl这些处理函数进行转换,下面是我写的一个关于ntohs在处理小端机字节 ...

  7. c语言怎么减去一个16进制数,一个简单的有关问题:像这样的16进制数怎么转换得到...

    一个简单的问题:像这样的16进制数如何转换得到? 本帖最后由 alibaren 于 2014-11-25 01:15:15 编辑 下列3个整数(用16进制表示) 如何通过某种运算一次性得到右边的数: ...

  8. 使用 Shell 运算进行进制转换 16进制转10进制

    使用 Shell 运算进行进制转换 工作时候常常遇到一些问题,拿到的数字是16进制的,但是运算的时候是10进制的,shell可以很方便的处理这类的进制转换问题,一种情况是使用 Shell 运算把一个数 ...

  9. MATLAB 如何做16进制运算

    MATLAB 如何做16进制运算 请参考: https://blog.csdn.net/kabuto_hui/article/details/49853687

  10. 简单16进制转字符串

    PYTHON 以字符串形式存在的16进制数,转为该16进制对应的ascii字符串比较麻烦. 如: hex_str = '7468616e6b20796f752076657279206d75636821 ...

最新文章

  1. python 删除字符串中重复的元素
  2. 闭包block多种应用方式
  3. Django 实现WEB登陆(第二版)
  4. 如何快速上手mysql_如何快速上手数据库操作?
  5. 14.Java包装类
  6. 深度强化学习探索算法最新综述,近200篇文献揭示挑战和未来方向
  7. WPS版excel怎样核对两表数据和文本不一致之处
  8. Centos 7编译安装 LAMP 环境
  9. 添加谷歌翻译到你的网站
  10. javaScript js 可滑动的div块
  11. Midori 0.5 发布,轻量级跨平台网页浏览器
  12. FW:星巴客装B指南_拔剑-浆糊的传说_新浪博客
  13. HTML5查看CAD图纸,看cad图纸软件(DwgSee)怎么打印Cad图纸?
  14. java keytool 工具
  15. 魔兽地图编辑器插件YDWE的使用与基本设置4 物体编辑器、启动游戏测试、查找物品
  16. Excel分列-字母与汉字(前后)
  17. 2023软件测试最难求职季,哪些测试技能更容易拿到offer?
  18. 官宣!微软跨平台 UI 框架 .NET MAUI 6 正式发布!
  19. pstack命令使用说明
  20. Screen coordinate and Client Coordinat

热门文章

  1. 传输层的端口与TCP标志中的URG和PSH位
  2. 用python解方程和微积分
  3. Cellular Network
  4. DWR Server Push(服务器推技术) 实现即时聊天功能(WEB)
  5. 考前必练15道题_《系统集成项目管理工程师备考宝典》
  6. RecyclerView更全解析之 为它优雅的添加头部和底部
  7. IdentityServer4之Client Credentials(客户端凭据许可)
  8. 支持10秒自毁的新芯片
  9. [STL源码剖析]RB-tree的插入操作
  10. FastRVC功能记录