C语言中实现“17进制”转“10进制”实例代码

 更新时间:2020年4月25日 17:32  点击:2008

C语言中实现“17进制”转“10进制”实例代码

17进制转成10进制,输入是数字跟大写字母。例如输入G、11、FF,分别输出16、18、270

#include <iostream> 
#include <string> 
using namespace std; 
 
int main() 
{ 
  string s; 
  int len,factor=17,num; 
  bool sign;//用来标志输入字符串是否非法 
  while(cin>>s) 
  { 
    len = s.size(); 
    sign =1; 
    num=0; 
 
    for(int i=0;i<len;i++) 
    { 
      if(s[i]>='0'&&s[i]<='9')      
        num=num*factor+(s[i]-'0'); 
 
      else if(s[i]>='A'&&s[i]<='H') 
        num=num*factor+(s[i]-'A'+10); 
 
      else 
      { 
        sign=0; 
        break; 
      } 
    } 
 
    if (sign) 
      cout<<num<<endl; 
    else 
      cout<<"Error Input!"<<endl; 
  } 
  return 0; 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

[!--infotagslink--]

相关文章