资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
#include<stdio.h>#include<string.h>#include<math.h>int tran();int tran(char c){if(c=='0') return 0;if(c=='1') return 1;if(c=='2') return 2;if(c=='3') return 3;if(c=='4') return 4;if(c=='5') return 5;if(c=='6') return 6;if(c=='7') return 7;if(c=='8') return 8;if(c=='9') return 9;if(c=='A') return 10;if(c=='B') return 11;if(c=='C') return 12;if(c=='D') return 13;if(c=='E') return 14;if(c=='F') return 15;}int main(){char h[100];//A[0]scanf("%s",&h);int l=strlen(h);int i;int s=l; long long int d=0;for(i=0;i<s;i++){d=d+tran(h[i])*pow(16,l-1);l--;}printf("%lld\n",d);return 0;}
如果觉得《蓝桥杯基础训练-十六进制转十进制-c语言》对你有帮助,请点赞、收藏,并留下你的观点哦!