zoukankan      html  css  js  c++  java
  • 蓝桥杯 基础练习 十六进制转十进制

      基础练习 十六进制转十进制  
    时间限制:1.0s   内存限制:512.0MB
          
    问题描述
      从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
      注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
    样例输入
    FFFF
    样例输出
    65535
     
    16进制转10进制  例:8A5F=16^3*8+16^2*10+16^1*5+16^0*15;
    #include<stdio.h>
    #include<string.h>
    #include<string>
    #include<math.h>
    #include<algorithm>
    #define LL long long
    #define PI atan(1.0)*4
    #define DD doublea
    #define MAX 100100
    #define mod 10007
    using namespace std;
    char a[10]; 
    char s[]="ABCDEF";
    int main()
    {
        int n,m,j,i,len,sum;
        while(scanf("%s",a)!=EOF)
        {
        	int len=strlen(a);
        	LL sum=0;
        	strrev(a);
        	for(i=0;i<len;i++)
        	{
        		if(a[i]>='0'&&a[i]<='9')
        		    sum+=(pow(16,i)*(a[i]-'0'));
        		else if(a[i]>='A'&&a[i]<='F')
        		{
        			for(j=0;j<6;j++)
        			{
        				if(a[i]==s[j])
        				{
        					sum+=(pow(16,i)*(j+10));
        					break;
        				}
        			}
        		}
        	}
        	printf("%lld
    ",sum);
        }
    	return 0;
    } 
    

      

  • 相关阅读:
    MySQL简概
    IO模型
    协程
    multiprocessing模块
    Python线程的常见的lock
    111-使用post的方式传值(最简示例)
    110-使用正则匹配的方式从url获值
    109-get方式获取url传值
    108-使用表格,不依赖于后台而输入内容
    107-创建第一个动态模板
  • 原文地址:https://www.cnblogs.com/tonghao/p/5131367.html
Copyright © 2011-2022 走看看