#include "stdio.h"
#include "stdlib.h"
void shitoer(int k)
{
int i=0;
int a[10];
do{
a[i]=k%2;
k/=2;
i++;
}while(k);
printf("转换为二进制整数:");
i--;
for(;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
}
void shitoba(int k)
{
int i=0;
int a[10];
do{
a[i]=k%8;
k/=8;
i++;
}while(k);
printf("转换为八进制整数:\n");
i--;
for(;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
}
void shitoshiliu(int k)
{
int i=0,j;
char a[10];
while(k!=0){
a[i]=k%16;
k/=16;
switch(a[i])
{
case 10 :
a[i]='A';
break;
case 11 :
a[i]='B';
break;
case 12 :
a[i]='C';
break;
case 13 :
a[i]='D';
break;
case 14 :
a[i]='E';
break;
case 15 :
a[i]='F';
break;
default:
a[i]+=95;
break;
}
i++;
}
printf("转换为16进制整数:\n");
for(j=i-1;j>=0;j--)
{
printf("%c",a[i]);
}
printf("\n");
}
void main()
{
int i,num;
printf("0.退出 1.十进制~二进制 2.十进制~八进制 3.十进制~十六进制\n");
printf("请选择功能:\n");
scanf("%d",&i);
fflush(stdin);
if(i==0)
exit(0);
printf("请输入一个十进制数:\n");
scanf("%d",&num);
switch(i)
{
case 0: exit(0);
case 1: shitoer(num);break;
case 2: shitoba(num);break;
case 3: shitoshiliu(num);break;
default: printf("输入错误!");
}
}
看看怎么改一下啊?