青蓝硬化药:请教一个有关C语言编程的问题

来源:百度文库 编辑:高校问答 时间:2024/04/28 18:54:06
怎样把一个数转换到2--10之间的任意进制,例如输入一组数(129 8)程序要能把129转换为8进制的201,不使用库函数。请大家帮帮忙啊。

int change(int num,int n)
{if(num>n)return(10*change(num/n,n)+num%n);
else return(num);
}

#include <stdio.h>

int power(int x)
{
int s=1;
while(--x>=0)
s*=10;
return s;
}

void change(int num,int x)
{
int res=0;
int i=0;
int num2=num;
while(num2>0)
{
res+=((num2%x)*power(i++));
num2/=x;
}
printf("%d\n",res);
}

void main()
{
int a=20;
change(a,7);
}