华为2014年7月机试题输入正整数根据字符映射表输出对应字符

来源:互联网 发布:javascript实例书籍 编辑:程序博客网 时间:2024/06/07 10:45

#include<iostream>
using namespace std;
/*
字符映射表如下:
A  - 000
B  - 001
C  - 010
D  - 011
E  - 100
F  - 101
G  - 110
H  - 111

*/
void main()
{
unsigned int M;
int a[200];
int i=0;
printf("请输入一个整数: \n");
scanf("%d",&M);
while(M!=0)
{
 a[i]=M%2;
 ++i;
 M/=2;

}
while(i%3!=0)
{
   a[i]=0;
   i++;
}
int len=i+1;
for(int j=len-1;j>=0;--j)
{
 if((j+1)%3==0)
 {
  int k=a[j]*4+a[j-1]*2+a[j-2]*1;
  switch(k)
  {
  case 0: printf("A"); break;
  case 1: printf("B"); break;
  case 2: printf("C"); break;
  case 3: printf("D"); break;
  case 4: printf("E"); break;
  case 5: printf("F"); break;
  case 6: printf("G"); break;
  case 7: printf("H"); break;


  }
 // printf("\n");
 
 }
}
printf("\n");
}

0 0
原创粉丝点击