【蓝桥杯】基础练习 十六进制转十进制
2014-11-13 20:25
134 查看
基础练习 十六进制转十进制
时间限制:1.0s 内存限制:512.0MB
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
无语。。。现在也没明白这样为什么不对
这样就对了
时间限制:1.0s 内存限制:512.0MB
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
无语。。。现在也没明白这样为什么不对
#include <iostream> #include <cstring> #include <algorithm> using namespace std; long long mul(int n)//要用long long类型 { long long s=1; for(int i=1;i<=n;i++) s*=16; return s; } int main() { long long a=0; char str[9]; cin>>str; for(int i=0;i<strlen(str);++i) { int temp; if(str[i]>='0'&&str[i]<='9') temp=str[i]-'0'; else temp=str[i]-55; a+=(temp*mul(i)); } cout<<a; return 0; }
这样就对了
#include <iostream> #include <string> #include <algorithm> using namespace std; long long mul(int n)//要用long long类型 { long long s=1; for(int i=1;i<=n;i++) s*=16; return s; } int main() { long long a=0; string str; cin>>str; reverse(str.begin(),str.end()); for(int i=0;i<str.length();++i) { int temp; if(str[i]>='0'&&str[i]<='9') temp=str[i]-'0'; else temp=str[i]-55; a+=(temp*mul(i)); } cout<<a; return 0; }
相关文章推荐
- 蓝桥杯基础练习--十六进制转十进制
- 蓝桥杯-基础练习-BASIC-11-十六进制转十进制
- 蓝桥杯:基础练习 十六进制转十进制
- 蓝桥杯 BASIC-11 基础练习 十六进制转十进制
- "蓝桥杯“基础练习: 十六进制转十进制
- 蓝桥杯-基础练习之十六进制转十进制——BASIC-11
- 蓝桥杯 基础练习 十六进制转十进制 java
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制 java
- 蓝桥杯练习系统——基础练习 十六进制转十进制
- 蓝桥杯之基础练习 十六进制转十进制
- 蓝桥杯--基础练习 十六进制转十进制
- 蓝桥杯练习系统基础练习——十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制(水题,进制转换)
- 蓝桥杯试题集 基础练习 十六进制转十进制
- 蓝桥杯OJ刷题日记——11-基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯- 基础练习 十六进制转十进制