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

}
相关推荐
yayaya1529 分钟前
javaScriptBOM
开发语言·javascript·ecmascript
项目申报小狂人10 分钟前
广义正态分布优化算法(GNDO)Generalized Normal Distribution Optimization
算法·概率论
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭16 分钟前
C#都可以找哪些工作?
开发语言·c#
陵易居士18 分钟前
力扣周赛T2-执行操作后不同元素的最大数量
数据结构·算法·leetcode
爱打APEX的小李21 分钟前
拷贝构造和赋值运算符重载
c++
霁月风30 分钟前
设计模式——工厂方法模式
c++·设计模式·工厂方法模式
夜阳朔38 分钟前
《C++ Primer》第三章知识点
c++·编程语言
凡人的AI工具箱38 分钟前
每天40分玩转Django:Django管理界面
开发语言·数据库·后端·python·django
每天写点bug1 小时前
【go每日一题】:并发任务调度器
开发语言·后端·golang
一个不秃头的 程序员1 小时前
代码加入SFTP Go ---(小白篇5)
开发语言·后端·golang