C语言:其他进制数转换为十进制(方法一)

简介:

#include<stdio.h>

#include<math.h>

#include<string.h>

//其他任意进制转换为十进制

int main()

{

 int trans(char a[],int );

 char strupr(char );

 char arr[100];

 int t;

 printf("请输入进制的类型:");

 scanf("%d",&t);

 printf("请输入该进制的数:");

 scanf("%s",arr);

 int num = trans(arr,t);

 printf("该数的十进制是:%d\n",num);

 return 0;

}

 

char strupr(char ch)//小写字母转换为大写字母

{

  if(ch>='a' && ch<='z')

  {

   ch = ch - 32;

  }

  printf("%c",ch);

  return ch;

}

 

int trans(char chs[],int m)//转换为十进制

{

 char *p = chs;

 int len = strlen(p);

 int temp,sum=0;

 while(len>0)

 {  

  char ss = strupr(*p);

  if(ss>='0' && ss<='9')

  {

    temp = (ss-'0')*pow(m,len-1);//m表示进制类型(2、8、16)

    sum = sum + temp;

  }

  if(ss>='A' && ss<='F')

  {

    temp = (ss-'A'+10)*pow(m,len-1);

    sum = sum + temp;

  }

  p++;

  len--;

 }

 printf("\n");

 return sum;

}

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!


本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4695362.html,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
C语言
你知道C语言中实现有序序列并序输出的2种方法吗?
你知道C语言中实现有序序列并序输出的2种方法吗?
|
1月前
|
C语言
【C语言】大小写字母的相互转化:多种方法解析及原理说明
【C语言】大小写字母的相互转化:多种方法解析及原理说明
109 0
|
1月前
|
存储 C语言
C语言实现二进制到十进制
C语言实现二进制到十进制
13 0
|
3月前
|
C语言
c语言点分十进制IP转整型
c语言点分十进制IP转整型
|
3月前
|
存储 C语言
C语言实现十进制转化为十六进制-------数组,switch语句,while循环语句
C语言实现十进制转化为十六进制-------数组,switch语句,while循环语句
|
28天前
|
编译器 C语言
【C语言】字母转换大小写的三种方法
【C语言】字母转换大小写的三种方法
44 0
|
1月前
|
存储 C语言
十进制转二进制,C语言的必备技能
十进制转二进制,C语言的必备技能
|
1月前
|
存储 C语言 索引
C语言数组求和方法
C语言数组求和方法
55 0
|
1月前
|
存储 C语言
C语言十进制转二进制
C语言十进制转二进制
26 0
|
3月前
|
存储 移动开发 搜索推荐
利用C语言实现十大经典排序算法的方法
利用C语言实现十大经典排序算法的方法
26 1