L2-2 十二进制字符串转换成十进制整数

输入一个以#结束的字符串,要求滤去所有的非十二进制字符(不分大小写),组成一个新的表示十二进制数字的字符串,然后将其转换为十进制数后输出。题目保证输出在长整型范围内。

输入格式:

输入在一行中给出一个以#结束的非空字符串。

输出格式:

在一行中输出转换后的十进制数。题目保证输出在长整型范围内。

输入样例:

复制代码
+P-xf1+a-4!B#

输出样例:

复制代码
3227

解题过程

可参考L1-3【例7-14】【使用字符数组】 十六进制字符串转换成十进制非负整数-CSDN博客

复制代码
#define _CRT_SECURE_NO_WARNINGS
#include <math.h>
#include <stdio.h>
#include <string.h>

int main() {
	int s[114];
	char c;
	int q, t;
	int n;
	int m = 0;
	for (;;) {
		c = getchar();
		if (c == '#')
			break;
		if (c >= '0' && c <= '9')
			m = m * 12 + c - '0';
		if (c >= 'a' && c <= 'b')
			m = m * 12 + 10 + c - 'a';
		if(c >= 'A' && c <= 'B')
			m = m * 12 + 10 + c - 'A';
	}
	/*for (int i = 0;m != 0; i++) {
		s[i] = m % t;
		n = i;
		m = m / t;
	}
	for (int i = n; i >= 0; i--) {
		printf("%d", s[i]);
	}*/
	printf("%d", m);

}
相关推荐
鹿角片ljp4 小时前
LeetCode 46. 全排列|吃透回溯
算法·leetcode·职场和发展
鼎艺创新科技4 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
剩下了什么4 小时前
float32 与 float64 精度陷阱:如何在 Go 中避免错误使用
开发语言·后端·golang
指尖时光.4 小时前
Three.js 超全入门综合案例
开发语言·javascript·ecmascript
暴力求解5 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
石头猫灯5 小时前
WordPress wp2shell 漏洞链完整拆解流程
网络·数据结构·安全·web安全
吴声子夜歌5 小时前
Java面试题——基础(一)
java·开发语言
别动我齐刘海5 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
小庞在加油5 小时前
WinDbg实战:QT/跨平台项目死锁与无响应问题排查指南
开发语言·qt·windbg·工具
Vae_Mars6 小时前
C#中的delegate委托
开发语言·c#