编写一个算法。将一个非负的十进制数N转化为一个B进制数

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:01:15
假设进出斩操作的声明在文件stack的头文件里

---------------vc6.0测试通过---要更多的进制表示,你可以在switch语句中自己加---------------

----我没用栈,用一数组然后逆序输出就OK了。------------
#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");
break;