题目:“十七进制”转“十进制”
实现“十七进制”转“十进制”算法:输入一个十七进制数字的字符串(字母一律大写),输出这个数值对应的十进制结果,达到进制转换目的,范围: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; }
测试结果,可能想的不周全,欢迎查漏补缺: