用C语言代码实现n进制数转换为十进制数

原创 2012年03月25日 16:24:20

用C语言代码实现n进制数转换为十进制数

为了实现进制之间的相互转化,编程实现输入任意一个数并输入该数的进制,然后将其转换为10进制并输出。

主要思路是将输入的数存入一个一维数组中然后进行相应处理。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
	long t1;
	int i, n, t, t3;
	char a[100];

	printf("请输入一个数:\n");
	gets(a);		//将输入的n进制的数储存在数组a中
	strupr(a);      //将数组中的小写字母转化为大写字母
	t3 = strlen(a); //求出数组的长度
	t1 = 0;         
	printf("请输入转换的数的进制:\n");  //输入要转换的数的进制
	scanf("%d", &n);
	for(i=0; i<t3; i++)
	{
		if(a[i] - '0' >= n && a[i] < 'A' || a[i] - 'A' + 10 >n )  //判断输入的数据和进制数是否符合
		{
			printf("data error!!\n"); //错误
			exit (0);
		}
		if(a[i] >='0' && a[i] <= '9')  //判断是否为数字
			t = a[i] - '0';            //求出该数字赋值给t
		else if (n >=11 && (a[i] >= 'A' && a[i] <= 'A' +n -10)) //判断是否为字母
			t = a[i] - 'A' +10; //求出该字母所代表的十进制数
		t1 = t1 *n +t; //求出最终转换成的10进制数

	}
	printf("转化为的10进制数为 %ld\n", t1);
	return 0;
}




c语言将十进制数转换为16进制的函数

有3种方式实现,其中两种是使用系统函数,另一种是直接自己编写。 使用系统函数实现要加入#include stdlib.h>,自己编写则不需要这个头文件。 下面的代码就是3种方式的实现,包括2位的整...
  • csu_yang
  • csu_yang
  • 2016年03月11日 08:58
  • 17793

C语言(11)--回文日、确定等式、fflush(stdin)、将十进制数转换成n进制数、二分法解方程

1、回文日、 2、确定等式 3、fflush(stdin) 4、将十进制数转换成n进制数 5、二分法解方程 当年份确定后,如2015年,就看20155102能否构成一个合法的日期,其中51部分是...
  • Ramay7
  • Ramay7
  • 2015年09月09日 19:10
  • 590

C语言从键盘输入一个十进制数将其转换为任意进制数输出

将十进制数n转换为r进制数的方法是,n除以r取余数作为转换后的数的最低位。若商不为0,则商继续除以r,取余数做最低位,直到商为0为止。 其中,对于16进制大于9的六个数用A、B、C、D、...

十进制转N进制C语言实现代码

  • 2012年05月16日 13:51
  • 3KB
  • 下载

十进制数转换成x进制----栈实现

十进制数转换成x进制栈实现                        题目:输入一个十进制数n,以及要求转换成的进制x,输出x进制下的n.用栈实现.约定输入的数为正整数,进制x为2-36,输出的...

用栈实现将十进制数转换为任意进制数(2,8,16...).

解题思路:假如N为输入的数,n为要转换为的进制,若要将十进制231转换为8进制数,过程如下; N                        N/n                      N%n...
  • acm_JL
  • acm_JL
  • 2016年03月06日 15:19
  • 4768

利用数组实现十进制数转换为各种进制数

主要是利用查表法来进行数制转换,利用一个数组存储非十进制的各种符号,在用“与”操作把每一位数取出来通过查表得出转换后的字符并存入另一个数组中,最后打印出这个数组中的内容就完成了数制转换。 p...
  • geeve
  • geeve
  • 2011年11月22日 22:42
  • 471

八进制数和十进制数相互转换

  • 2012年07月02日 01:12
  • 47KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用C语言代码实现n进制数转换为十进制数
举报原因:
原因补充:

(最多只允许输入30个字)