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

来源:互联网 发布:android电子相册源码 编辑:程序博客网 时间:2024/05/21 14:08
Problem Description输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。Input第一行输入需要转换的十进制非负整数;第二行输入 R。Output输出转换所得的 R 进制数。Example Input12798Example Output2377Hint


十进制转化成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;}