进制转换【c语言】

/*进制转换*/
#include

void conversion(int num,int binary,char* b)
{
	int a[10],i=0,n=0; 
	printf("\n%d的%d进制结果为:",num,binary);
	//获取进制对应的位
	do
	{
		a[i]=num%binary;
		num=num/binary;
		i++;
	}while(num!=0);
	
	//用位来定位进制所对应的数
	for(i--;i>=0;i--)
	{
		n=a[i];
		printf("%c",b[n]);
	}
	 
}

int main(){
	int r=0,x=0,y=0;
	char b[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	//printf("\n仅支持2,8,16进制。");
	printf("\n请输入你要转换的进制:");
	scanf("%d",&r);
	printf("\n请输入你要被转换的数:");
	scanf("%d",&x);
	conversion(x,r,b);
	return 0;
} 

你可能感兴趣的:(c语言,c语言)