数据结构实验之栈一:进制转换

Problem Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。

Input
第一行输入需要转换的十进制非负整数;
第二行输入 R。

Output
输出转换所得的 R 进制数。

Example Input
1279
8Example Output
2377Hint


十进制转化成2-9进制数:

十进制数除以进制数保存余数,得到的新十进制数再除以进制数保存余数....

直到这个十进制数除不了进制数直接保存下来即可。


#include<stdio.h>
void change(int n,int r){//n代表要转化的十进制数字,r代表要转化的进制数
	int a[10000],i=0,j;
	while(n>=r){
		a[i++]=n%r;
		n/=r;
	}
	a[i]=n;
	for(j=i;j>0;j--)
	printf("%d",a[j]);
	printf("%d\n",a[j]);
}
int main(){
	int n,r;
	scanf("%d %d",&n,&r);
	change(n,r);
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章