首页 > 编程 > C++ > 正文

[华为OJ--C++]005-进制转换

2019-11-08 18:36:02
字体:
来源:转载
供稿:网友

题目描述: 写出一个程序,接收一个十六进制的数值字符串,输出该数值的十进制表示。

输入描述:输入一个十六进制的数值字符串。

输出描述:输出该数值的十进制表示。

输入例子:0xA

输出例子:10

算法实现:

#include<iostream>#include<string>using namespace std;/************************************************  * Author: 赵志乾  * Date: 2017-2-16   * Declaration: All Rigths Reserved !!!  ***********************************************/ int main(){	string instr;    cin>>instr;        int ret=0;    for(int i=2;i<instr.length();i++)    {    	if(instr[i]>='0'&&instr[i]<='9')            ret=ret*16+instr[i]-'0';        else if(instr[i]>='a'&&instr[i]<='f')            ret=ret=ret*16+instr[i]-'a'+10;		else			ret=ret=ret*16+instr[i]-'A'+10;    }        cout<<ret<<endl;	return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选