进制转换升级版

#include<stdio.h>
int f1(int i)
{
if (i < 10)
return i;
return i + 'A';
/*switch(i)
{

case 10:
return (65);
case 11:
return (66);
case 12:
return (67);
case 13:
return (68);
case 14:
return (69);
case 15:
return (70);
}*/
}
int f2(int m,int n)//
{
int a[100]= {0};
int k=0;
while (m>=n)
{
a[k]=m%n;
m=m/n;
k++;
}
a[k]=m;
int b[100];
for(int i=k; k>=0; k--)
{
if(a[k]>9)
{
a[k]=f1(a[k]);
printf("%c",a[k]);
}
else printf("%d",a[k]);
}
return 0;
}
int main()
{
int m,n;
while(scanf("%d%d",&m,&n)==2)
{
printf("十进制数%d的%d进制表示为:\n",m,n);
f2(m,n);
}
return 0;
}

 

posted @ 2015-01-10 17:25  zach96  阅读(144)  评论(0编辑  收藏  举报