您的位置:首页 > 其它

p122 第三章 第20题 潘璠

2015-04-23 16:47 211 查看


#include<stdio.h>

void trans(int n,int base)

{

int a[10],i=0,k;

if(base==2)

{

while (n != 0)

{

a[i]= n%2;

n=n/2;

i++;

}

k=i;

for(i=k-1;i>=0;i--)

printf("%d",a[i]);

}

if(base==8)

{

while (n != 0)

{

a[i]= n%8;

n=n/8;

i++;

}

k=i;

for(i=k-1;i>=0;i--)

printf("%d",a[i]);

}

if(base==16)

{

while (n != 0)

{

a[i]= n%16;

n=n/16;

i++;

}

k=i;

for(i=k-1;i>=0;i--)

{

if(a[i]>=0&&a[i]<=9)

printf("%d",a[i]);

if(a[i]>=10&&a[i]<=15)

{

switch(a[i])

{

case 10: printf("A");break;

case 11: printf("B");break;

case 12: printf("C");break;

case 13: printf("D");break;

case 14: printf("E");break;

case 15: printf("F");break;

}

}

}

}

}

int main()

{

int i,j;

while(1)

{

printf("请输入一个数字:");

scanf("%d", &i);

printf("需要转换成哪种进制数(2? 8? 16?)");

scanf("%d",&j);

printf("转化为%d进制为:",j);

trans(i,j);

printf("\n");

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: