题解 | #进制转换#

进制转换

http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

      #include<stdio.h>
      #include<string.h>
      int main()
      {
          char in[1000];
          while(scanf("%s",&in)!=EOF)
          {
              int len = strlen(in);
              int zhi=0,danwei=1;int xunhuan;int he=0;
              if(strlen >= 3)//manzu normal data
              {
        if(in[0]=='0'&&(in[1]=='x'||in[1]=='X'))//16data
        {
            for(int l=len-1;l>1;l--)
            {//zuihou yiwei kaishi chuli
                if(in[l]=='a'||in[l]=='A')zhi=10;
                if(in[l]=='b'||in[l]=='B')zhi=11;
                if(in[l]=='C'||in[l]=='c')zhi=12;
                if(in[l]=='d'||in[l]=='D')zhi=13;
                if(in[l]=='E'||in[l]=='e')zhi=14;
                if(in[l]=='F'||in[l]=='f')zhi=15;
                if(in[l]=='0')zhi=0;
                if(in[l]=='1')zhi=1;
                if(in[l]=='2')zhi=2;
                if(in[l]=='3')zhi=3;
                if(in[l]=='4')zhi=4;
                if(in[l]=='5')zhi=5;
                if(in[l]=='6')zhi=6;
                if(in[l]=='7')zhi=7;
                if(in[l]=='8')zhi=8;
                if(in[l]=='9')zhi=9;

                xunhuan = len-1-l;
                for(;xunhuan>0;xunhuan--)
                {
                    danwei *=16; 
                }
                he+=zhi*danwei;
                danwei =1;  //单位及时清1 否则递增
            }
        }
        printf("%d\n",he);
    }
}
return 0;
      }
      //标准库自带转换 手动转一下
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务