p122 第三章 第20题 潘璠

来源:互联网 发布:ubuntu 安装类型 win7 编辑:程序博客网 时间:2024/04/27 23:20

 

 

#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;
 }

 

 

 

 

 

 

0 0
原创粉丝点击