zoukankan      html  css  js  c++  java
  • CSU 1160 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示

    题目链接:    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/A

    解题思路:  将16进制的表示方法列在一个数组里面,并对应好下标,再定义一个大小为8的字符数组,每使用之前要先赋""清空,用来存放十六进制的数,然后再用辗转相除法将它化为十六进制数,输出的时候,先输出“0x“,再用循环控制需要输出的0的个数,然后再输出存入在字符数组里面的十六进制数(记住倒着输出),这样格式就与案例一样了

    源程序代码:

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    long n;
    
    char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int main()
    {
    
    while(scanf("%d",&n)==1&&n!=EOF)
    {   int i=0; char b[8]="";
    if(n>0)
        {
            while(n>0)
        {
    
           b[i++]=a[n%16];
            n=n/16;
    
        }
        printf("0x");
    if(strlen(b)!=8)
       for( i=0;i<8-strlen(b);i++)
        printf("0");
       for(i=strlen(b)-1;i>0;i--)
        printf("%c",b[i]);
       cout<<b[0]<<endl;
    }
    else
    {
          printf("0x");
          for(i=0;i<7;i++)
            printf("0");
          printf("0
    ");
    }
    }
        return 0;
    }
    版权声明:此代码归属博主, 请务侵权!
  • 相关阅读:
    在mac上搭建python环境
    iOS开发-你真的会用SDWebImage?(转发)
    iOS tableview 优化总结
    Masonry 实现输入框随键盘位置改变
    sudo 权限问题
    nodejs save遇到的一个坑
    iOS app的webview注入JS遇到的坑
    HW18-广搜
    HW17-深搜
    HW16-动归2
  • 原文地址:https://www.cnblogs.com/www-cnxcy-com/p/4652458.html
Copyright © 2011-2022 走看看