很方便的解决了这个问题。
#include<stdio.h>
#include<stack>
using namespace std;
char digit[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
void convert(stack<char>&S,int n,int base)
{
while(n){
S.push(digit[n%base]); //对每一位入栈
n/=base;
}
return ;
}
int main()
{
int n,base;
while(scanf("%d %d",&n,&base)!=EOF){
stack<char>S;
convert(S,n,base);
while(!S.empty())
{
printf("%c",S.top());
S.pop();
}
printf("\n");
}
return 0;
}
运用栈来实现10进制向其他进制的转换
最新推荐文章于 2022-04-13 10:27:03 发布