码迷,mamicode.com
首页 > 其他好文 > 详细

华为机试—“十七进制”转“十进制”

时间:2014-12-26 11:15:23      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:华为机试   进制转换   十七进制转十进制   

题目:“十七进制”转“十进制”

实现“十七进制”转“十进制”算法:输入一个十七进制数字的字符串(字母一律大写),输出这个数值对应的十进制结果,达到进制转换目的,范围:0-0xFFFFFFFF。


#include <iostream>
using namespace std;  
      
void convert(char* p)  
{  
	int len=strlen(p);  
    int sum=0;  
    int num=0;  
    for(int i=0;i<len;i++)  
    {  
		if(p[i]>='0'&&p[i]<='9')  
            num=p[i]-'0';  
        else  
            num=p[i]-55;
	
        sum=sum*17+num;
    }  
    cout<<sum<<endl;  
}  
      
      
int main()  
{  
	char p[100];  
    //gets(p); 

	while (cin>>p){     
        convert(p);    
    }  
	cout<<endl;
    return 0;  
}  

测试结果,可能想的不周全,欢迎查漏补缺:

技术分享

华为机试—“十七进制”转“十进制”

标签:华为机试   进制转换   十七进制转十进制   

原文地址:http://blog.csdn.net/wtyvhreal/article/details/42168065

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!