=0;k--){printf("%d",p[k]);}printf("\n");}voidE(inta){intj,k;intp[30];for(j=" />

C语言程序 十进制转换二进制、八进制、十六进制

/**功能十进制转换二进制、八进制、十六进制**/

#include
#include

void B(int a)
{
int j,k;
int p[30];
for(j=0;a!=0;j++)
{
p[j]=a%8;
a=a/8;
}
printf("\n转换后的数为:");
for(k=j-1;k>=0;k--)
{
printf("%d",p[k]);
}
printf("\n");
}
void E(int a)
{
int j,k;
int p[30];
for(j=0;a!=0;j++)
{
p[j]=a%2;
a=a/2;
}

printf("\n转换后的数为:");
for(k=j-1;k>=0;k--)
{
printf("%d",p[k]);
}

printf("\n");
}
void SL(int a)
{
int j,k;
int p[30];
for(j=0;a!=0;j++)
{
p[j]=a%16;
a=a/16;
if(p[j]<10)
{
p[j]+=48;
}
else
{
switch(p[j])
{
case 10:
p[j]='A';
break;

case 11:
p[j]='B';
break;

case 12:
p[j]='C';
break;

case 13:
p[j]='D';
break;

case 14:
p[j]='E';
break;

case 15:
p[j]='F';
break;
}
}
}

printf("\n转换后的数为:");
for(k=j-1;k>=0;k--)
{
printf("%c",p[k]);
}
printf("\n");
}
void move(int m , int n)
{
switch(n)
{
case 2:
printf("\n您选择十进制转化为二进制\n");
E(m);
break;

case 8:
printf("\n您选择十进制转化为八进制\n");
B(m);
break;

case 16:
printf("\n您选择十进制转化为十六进制\n");
SL(m);
break;
}
}
int main()
{
int m,n;
printf("------十进制转换工具------\n");
printf("请输入一个十进制的正数m=");
scanf("%d",&m);
if(m<=0)
{
printf("提示输入错误\n");
}
else
printf("请输入需要转换的进制n=");
scanf("%d",&n);
if(n!=2&&n!=8&&n!=16)
{
printf("提示:没有这个进制数\n");
}
else
{
move(m,n);
}

return 0;
}




相关文档
最新文档