华为03--进制转换

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

1.傻瓜式解法:

#include<iostream>
#include<string>
#include<unordered_map>
#include<cmath>
using namespace std;

/*
int main()
{
	string str = "";
	unordered_map<char, int> hashmap;
	char bit[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	for (int i = 0; i < 16; ++i)
	{
		hashmap[bit[i]] = i;
	}

	while (cin >> str)
	{
		int bitn = 0;
		int ans = 0;
		for (int i = str.length()-1; i >=2; --i)
		{
			ans += hashmap[str[i]] * pow(16, bitn);
			++bitn;
		}
		printf("%d\n", ans);
	}

	return 0;

}

2.投机取巧,羞死人的解法

#include<iostream>
using namespace std;
int main()
{
	int x;
	while (scanf("%x",&x)!=EOF)//scanf(“格式控制字符串”, 地址表列);
		printf("%d\n", x);
	return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-25 17:51
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
投递拓竹科技等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务