使用数组实现10进制向任何进制数制的转换。
算法思想:
使用数组模拟栈,将n%m加到数组中,然后将数组的元素倒叙输出即可。
#include<stdio.h>
int stack[100];
int n,m;//n表示要转换的数,m表示进制
//初始化数组
int Init(int stack[]){
for(int i=0;i<100;i++){
stack[i]=-1;
}
return 1;
}
//转换
void Conversion(int n,int m){
int i=0;
int count=0;
while(n){
stack[i++]=n%m;
n=n/m;
count+=1;
}
//printf("%d\n",count);
for(int j=count-1;j>=0;j--){
printf("%d",stack[j]);
}
}
int main(){
printf("请输入要转换的数n和进制数m:");
while(scanf("%d%d",&n,&m)!=EOF){
Conversion(n,m);
}
}