R7-3 十六进制字符串转换成十进制非负整数

分数 15
全屏浏览题目
切换布局
作者 颜晖
单位 浙大城市学院

输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出。

输入格式:

输入在一行中给出一个不超过80个字符长度的、以#结束的非空字符串。

输出格式:

第1行中输出已滤去所有非十六进制字符的字符串。
在第2行中输出转换后的十进制数。题目保证输出结果在长整型范围内。

输入样例:

-zy1+Ak0-bq?#
 

输出样例:

1A0b
6667
 
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
 1 #include <stdio.h>
2 #include <string.h>
3 #include <math.h>
4
5 int main()
6 {
7 char str[85];
8 char ch;
9
10 ch = getchar();
11 int len = 0;
12 while(ch != '#'){
13 if( (ch >= '0' && ch <= '9') ||
14 (ch >= 'a' && ch <= 'f') ||
15 (ch >= 'A' && ch <= 'F') ){
16 str[len++] = ch;
17 }
18 ch = getchar();
19 }
20 int i;
21 long long num = 0;
22 for(i = 0;i < len;i++){
23 if(str[i] >= '0' && str[i] <= '9'){
24 num += pow(16, len - i - 1) * (str[i] - '0');
25 }else if(str[i] >= 'a' && str[i] <= 'f'){
26 num += pow(16, len - i - 1) * (str[i] - 'a' + 10);
27 }else{
28 num += pow(16, len - i - 1) * (str[i] - 'A' + 10);
29 }
30 }
31 printf("%s\n%lld\n", str, num);
32
33 return 0;
34 }

R7-3 十六进制字符串转换成十进制非负整数的更多相关文章

  1. Java中将0x开头的十六进制字符串转换成十进制整数

    1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...

  2. IOS 十六进制字符串转换成UIColor

    /** * 十六进制转换成UIColor * * @param stringToConvert 十六进制字符串 * * @return UIColor */ +(UIColor *) hexStrin ...

  3. C++中char类型的十六进制字符串转换成字节流

    如a[5]="1234"转换成a[5]={0x12,0x34} 代码如下: void HexStrToByte(const char* source, unsigned char* ...

  4. C++实现16进制字符串转换成int整形值

    开发中经常需要把16进制字符串转换成整形,写了个个代码供大家参考下: #include <stdio.h> #include <string.h> //字符转换成整形 int ...

  5. C语言-数字字符串转换成这个字符串对应的数字(十进制、十六进制)

    数字字符串转换成这个字符串对应的数字(十进制.十六进制) (1)数字字符串转换成这个字符串对应的数字(十进制) 要求:这个字符串参数必须包含一个或者多个数字,函数应该把这些数字转换为整数并且返回这个整 ...

  6. C语言将字符串转换成对应的数字(十进制、十六进制)【转】

    转自:http://wawlian.iteye.com/blog/1315133 问题1:讲一个十进制数字的字符串表示转换成对应的整数.举例:将“”转换成整数1234. C代码 收藏代码 /*将字符串 ...

  7. 【转】C语言将字符串转换成对应的数字(十进制、十六进制)

    转自:http://wawlian.iteye.com/blog/1315133 1.一个十进制数字的字符串表示转换成对应的整数.举例:将“1234”转换成整数1234 /*将字符串s转换成相应的整数 ...

  8. 用Linux/Unix命令把十六进制转换成十进制(转)

    那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...

  9. C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方

    #include <stdio.h> /* 十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方: 在16进制中:a(A)=10 b(B)=11 c(C)=12 d(D)= ...

  10. WUSTOJ 1237: 将八进制的字符串转换成等价的十进制字符串(Java)

    1237: 将八进制的字符串转换成等价的十进制字符串 题目   输入八进制,输出十进制.更多内容点击标题. 分析   输入的八进制数有20位.已经超出了Integer.MAX_VALUE的范围,因此此 ...

随机推荐

  1. 【2】APP自动化-脚本研发2.0-3.0需要重复看视频

     calculatorV1.0.py #V1.0 实现手机端计算器自动化测试:使用常量进行参数传递#导入appium类库from appium.webdriver.webdriver import W ...

  2. Code Review在TDSQL-C 的应用实践

    1.1 为什么重视Code Review? 结合下面这个例子,我们来谈谈为什么要重视code review.假设你作为新人刚入职,领导分配了一个需求,于是接下来做了下面这些事: 为了完成任务疯狂敲了三 ...

  3. ShareWAF 软件&云形态安装部署说明

    一.常用文件说明sharewaf.js:主程序daemon.js:主程序守护程序oem.js:OEM 定制文件developer.js:二次开发接口rules.js:自定义规则文件regexp.js: ...

  4. mfc拷贝到我的电脑出现的问题

    拿到工程解压打开,霍,挺好 往下面翻了翻看到了这个 再怎么错误,怎么会没有string呢?看了看头文件,包含的有,所以 我去找了一下string.h的位置 项目->属性->VC++目录-& ...

  5. JavaWeb 之 Http

    0x01:为什么会有Http? 在 HTTP 建立之初,主要目的就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 0x02:什么是Http? http是一个简单的,请求-响应 ...

  6. C++用递归实现求解相关函数

    //递归实现Hanoi塔问题#include<iostream>#include<cstdlib>using namespace std;#define MAXSIZE 100 ...

  7. 页面导出为PDF

    一.使用环境 Vue3.Quasar.Electron 二.安装 jspdf-html2canvas npm install jspdf-html2canvas --save 安装失败可以选择cnpm ...

  8. CentOS 镜像官网下载链接

    CentOS 镜像官网下载链接: https://www.centos.org/download/mirrors/ http://mirrors.aliyun.com/centos/ https:// ...

  9. MySQL 增加timestamp 列都是000000的时间

    问题: 在MySQL 用工具navicat 给表增加 类型为 timestamp 的列的时候 默认值没有具体设置 默认值使用当前时间 CURRENT_TIMESTAMP 函数 导致生成的默认是0000 ...

  10. Fiddler 抓包转成*.har文件在httprunner执行

    1.Fiddler 抓包转成*.har 参考:https://blog.csdn.net/hou_angela/article/details/91837007 2.生成httprunner项目结构 ...