算法入门模拟-进制转换

1.p进制数x转换成10进制数y
思想:参考计算机组成原理进制转换

#include 
int main(){
     
	int p,x,y=0,product=1;
	scanf("%d%d",&x,&p);
	while(x!=0){
     
		y=y+(x%10)*product;//x%10取进制位进行累加 
		x=x/10;//去掉已取的进制位 
		product=product*p;
	}
	printf("%d",y);
	return 0;
}

2.10进制数x转成p进制数
思想:参考计算机组成原理进制转换




#include 
int main(){
     
	int p,x,num=0;
	int a[20]={
     0};
	scanf("%d%d",&x,&p);
	do{
     
	 a[num++]=x%p;
	 x=x/p;
	}
	while(x!=0);//用do while循环是为了防止10进制数为0造成的错误
	for(int i=num-1;i>=0;i--)
	printf("%d",a[i]);
	return 0;
}

你可能感兴趣的:(#,入门模拟,算法练习,算法,c语言)