zoukankan      html  css  js  c++  java
  • 基础练习 十六进制转换八进制

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 using namespace std;
     6 
     7 char str[100010];
     8 int a[5000000];
     9 
    10 int main()
    11 {
    12     int i,k,j,n,l;
    13     scanf("%d",&k);
    14     while(k--)
    15     {
    16         scanf("%s",str);
    17         l=strlen(str);
    18         memset(a,0,sizeof(a));    j=0;
    19         for(i=l-1;i>=0;i--)
    20         {
    21             if(str[i]=='A')
    22             {
    23                 a[j++]=0;a[j++]=1;a[j++]=0;a[j++]=1;
    24             }
    25             else 
    26             if(str[i]=='B') {
    27                 a[j++]=1;a[j++]=1;a[j++]=0;a[j++]=1;
    28             } else 
    29             if(str[i]=='C')
    30             {
    31                 a[j++]=0;a[j++]=0;a[j++]=1;a[j++]=1;
    32             }    else 
    33             if(str[i]=='D')    {
    34                 a[j++]=1;a[j++]=0;a[j++]=1;a[j++]=1;
    35             }    else 
    36             if(str[i]=='E')
    37             {
    38                 a[j++]=0;a[j++]=1;a[j++]=1;a[j++]=1;
    39             }
    40             else 
    41             if(str[i]=='F')
    42             {
    43                 a[j++]=1;a[j++]=1;a[j++]=1;a[j++]=1;
    44             } else {
    45                 n=str[i]-'0';
    46                 int g=j;
    47                 while(n)
    48                 {
    49                     a[j++]=n%2;
    50                     n=n/2;
    51                 }
    52                 j=g+4;
    53             }
    54             
    55         }
    56         int e,d,h=0;
    57         for(i=0;i<j;i+=3)
    58         {
    59             d=1;n=0;
    60             for(e=i;e<i+3;++e){
    61                 n+=a[e]*d;d*=2;
    62             }
    63             a[h++]=n;
    64         }
    65         for(i=h-1;i>=0;i--)
    66         if(a[i]!=0) break;
    67         for(j=i;j>=0;j--)
    68         printf("%d",a[j]);
    69         printf("
    ");
    70     }
    71     return 0;
    72 }
    View Code
  • 相关阅读:
    2012年春晚剧本
    研究机器人
    85.圆角边框的两大要素 Walker
    81.边框设置 Walker
    76.背景固定 Walker
    84.边框方向 Walker
    86.圆角边框设置 Walker
    82.边框宽度和边框颜色 Walker
    88.轮廓和样式重置 Walker
    77.背景简写 Walker
  • 原文地址:https://www.cnblogs.com/WDKER/p/5140781.html
Copyright © 2011-2022 走看看