赞
踩
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
#include <iostream> #include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; int n,p=0; int L=s.length(); for(int i=L-1;i>=0;i--) { switch(s[i]) { case '0':n=0;break; case '1':n=1;break; case '2':n=2;break; case '3':n=3;break; case '4':n=4;break; case '5':n=5;break; case '6':n=6;break; case '7':n=7;break; case '8':n=8;break; case '9':n=9;break; case 'A':n=10;break; case 'B':n=11;break; case 'C':n=12;break; case 'D':n=13;break; case 'E':n=14;break; case 'F':n=15;break; default:break; } p=p+pow(16,i)*n; } cout<<p<<endl; return 0; }
只有25分
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。