使用数组实现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); } }原文链接:https://www.f2er.com/datastructure/382498.html