C/C++编程题之进制转换

简介: C/C++编程题之进制转换

将之前一段时间在牛客上刷的题给大家分享一下。其中一道题是“进制转换”,较为简单,现在将通过的代码贴一下,供大家参考。


写出一个程序,接受一个十六进制的数,输出该数值的十进制表示


#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int mihex(int count)
{
    int mi=1;
    int i =0;
    for(i=0;i<count;i++)
    {
       mi*=16;
    }
    return mi;
}
int hextodec(char *input)
{ 
  int len = strlen(input);
  int i=0;
  int sum=0;
  for(i=2;i<len;i++)
  {
      char c = input[i];
      //printf('c=%c\n',c);
      if(c>='a'&&c<='f')
      {
        sum += ((c - 'a')+10)*mihex(len-i-1);
      }
      else if(c>='0'&&c<='9')
      {
        sum += (c - '0')*mihex(len-i-1);
      }
      else if(c>='A' && c<='F')
      {
        sum += ((c - 'A')+10)*mihex(len-i-1);
      }
  }
  return sum;
}
int main()
{
    char inputstream[100]={0};
    int a;
    //fgets(inputstream,sizeof(inputstream),stdin);
    //sscanf_s(inputstream,"0x%x",&a);
    while(scanf("%s",inputstream)!=EOF)
    {
     a = hextodec(inputstream);
     printf("%d\n",a);
    }
}


相关文章
|
29天前
|
安全 算法 C++
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits处理弱枚举和强枚举
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits处理弱枚举和强枚举
46 3
|
1月前
|
安全 算法 编译器
【C++ 泛型编程 进阶篇】深入探究C++模板参数推导:从基础到高级
【C++ 泛型编程 进阶篇】深入探究C++模板参数推导:从基础到高级
247 3
|
1月前
|
存储 算法 编译器
【C++ TypeName用法 】掌握C++中的TypeName:模板编程的瑞士军刀
【C++ TypeName用法 】掌握C++中的TypeName:模板编程的瑞士军刀
237 0
|
1月前
|
安全 算法 C++
【C++泛型编程 进阶篇】模板返回值的优雅处理(二)
【C++泛型编程 进阶篇】模板返回值的优雅处理
32 0
|
1月前
|
安全 算法 编译器
【C++泛型编程 进阶篇】模板返回值的优雅处理(一)
【C++泛型编程 进阶篇】模板返回值的优雅处理
43 0
|
1月前
|
存储 网络协议 C语言
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
79 0
|
1月前
|
算法 编译器 数据库
【C++ 泛型编程 高级篇】使用SFINAE和if constexpr灵活处理类型进行条件编译
【C++ 泛型编程 高级篇】使用SFINAE和if constexpr灵活处理类型进行条件编译
246 0
|
1月前
|
机器学习/深度学习 算法 编译器
【C++ 泛型编程 中级篇】深度解析C++:类型模板参数与非类型模板参数
【C++ 泛型编程 中级篇】深度解析C++:类型模板参数与非类型模板参数
47 0
|
1月前
|
设计模式 程序员 C++
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
258 2
|
1月前
|
算法 安全 C++
【C++ 泛型编程 入门篇】深入探索C++的numeric_limits:全面理解数值界限(一)
【C++ 泛型编程 入门篇】深入探索C++的numeric_limits:全面理解数值界限
45 0