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);

}
相关推荐
weixin_3077791310 小时前
Jenkins Structs 插件:为插件提供命名(DSL)支持的核心库
开发语言·ci/cd·架构·jenkins·etl
后端小张10 小时前
【JAVA进阶】Docker 2025完全指南:从容器入门到企业级实践
java·运维·开发语言·spring·docker·容器·springboot
繁星蓝雨10 小时前
Qt优雅的组织项目结构二(基于Qt5使用CmakeList进行模块化配置)——————附带详细示例代码
开发语言·qt·cmake·cmakefile.txt·.cmake
ChineHe10 小时前
Golang并发编程篇_context包详解
开发语言·后端·golang
肥大毛10 小时前
C++入门学习---指针
开发语言·c++·学习
软件开发技术深度爱好者10 小时前
Python + Ursina设计一个有趣的3D小游戏
开发语言·python·3d
CodeByV10 小时前
【算法题】滑动窗口(一)
算法
崇山峻岭之间10 小时前
C++ Prime Plus 学习笔记039
c++·笔记·学习
AuroraWanderll10 小时前
C++面向对象与类和对象(一)----C++重要基础入门知识
c语言·数据结构·c++·算法·stl
hnlgzb10 小时前
好像kotlin class和kotlin file都可以是activity?
android·开发语言·kotlin