问个C语言进制转换问题!

来源:百度知道 编辑:UC知道 时间:2024/05/23 22:43:15
输入一个十进制数,分别转换成二进制数,八进制数,十六进制数!
来个高手具体教我下换算的算法~~~~谢谢
研究了半天也没搞懂~~~~
麻烦高手就直接用c语言直接写个十进制换算成二进制\八进制\十六进制的程序给我看看好了!

---------------vc6.0测试通过---
----------要更多的进制表示,你可以在switch语句中自己加---------------
-------- 我的可以支持到16进制数的转换------------
#include <stdio.h>
#include <stdlib.h>

void main()
{
int nNum,Rad,i=0,Residue;
int Store[50];
printf("请输入一个任意整数:");
scanf("%d",&nNum);
printf("\n请输入一个合法的表示进制的基数[2,16]:");
scanf("%d",&Rad);
if(Rad<=1)
exit(-1);
printf("\n转换后的结果是:");
while(nNum>=Rad)
{
Residue=nNum%Rad;//0
nNum/=Rad;//1
Store[i]=Residue;//0
++i;
}
Store[i]=nNum;

for(;i>=0;--i)
switch(Store[i])
{
case 0:
printf("0");
break;
case 1:
printf("1");
break;
case 2:
printf("2");
break;
case 3:
printf("3");
break;
case 4:
printf("4");