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

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

源程序代码:

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
long n; char a[]={'','','','','','','','','','','A','B','C','D','E','F'};
int main()
{ while(scanf("%d",&n)==&&n!=EOF)
{ int i=; char b[]="\0";
if(n>)
{
while(n>)
{ b[i++]=a[n%];
n=n/; }
printf("0x");
if(strlen(b)!=)
for( i=;i<-strlen(b);i++)
printf("");
for(i=strlen(b)-;i>;i--)
printf("%c",b[i]);
cout<<b[]<<endl;
}
else
{
printf("0x");
for(i=;i<;i++)
printf("");
printf("0\n");
}
}
return ;
}

CSU 1160 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示的更多相关文章

  1. 把十进制整数转换为r(r=2)进制输出(顺序栈实现)

    上周的第二个作业补上~~ 上周的要求: 1.给出顺序栈的存储结构定义. 2.完成顺序栈的基本操作函数. 1)      初始化顺序栈 2)      实现入栈和出栈操作 3)      实现取栈顶元素 ...

  2. 编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示

    编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示. 要求: 1) 采用顺序栈实现算法: 2)从键盘输入一个十进制的数,输出相应的八进制数和十六进制数. ...

  3. Ex 2_25 n位十进制整数转换为二进制形式..._第四次作业

    (a)   当n=1时,(10)d=(1010)b 当n=2时,(100)d=(10)d x (10)d=(1010)b x (1010)b 当n=4时,(10000)d=(100)d x (100) ...

  4. python 十进制整数转换为任意进制(36以内)

    def baseN(num, b): return ((num == 0) and "0") or (baseN(num // b, b).lstrip("0" ...

  5. 在delphi中,如何把十进制数转换为十六进制整形数。若用inttohex只能转化为十六进制字符串。

    var b: Byte; s: string;begin s := '31'; //16进制字符串 b := StrToInt('$' + s);end; 不过要注意一点,如果在程序调试时想看b的值, ...

  6. CSU 1160(进制问题)

    CSU 1160   Time Limit:1000MS     Memory Limit:131072KB     64bit IO Format:%lld & %llu   Descrip ...

  7. CSU 1160 A(Contest #3)

    Description 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示. Input 每行一个整数x,0<= x <= 2^31. Output 每行输出对应的 ...

  8. 栈习题(1)-对于任意的无符号的的十进制数m,写出将其转换为十六进制整数的算法(正确输出即可)

    /*对于任意的无符号的的十进制数m,写出将其转换为十六进制整数的算法(正确输出即可)*/ /* 算法思想:利用辗转取余法,每次都将余数存入栈中,直到被除数等0,退出循环. 输出栈里的内容即可 */ v ...

  9. C# 判断字符串是否符合十六进制,八进制,二进制和十进制整数格式的正则表达式

    /// <summary> /// 判断是否十六进制格式字符串 /// </summary> /// <param name="str">< ...

随机推荐

  1. linux 获取系统屏幕分辨率

      在Windows下可以使用GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取. 在Linux下可以使用XDisplayWi ...

  2. JS可控制的图片自动循环播放查看效果

    JS可控制的图片自动循环播放查看效果 <html> <head> <title>JS可控制的图片自动循环播放查看效果丨芯晴网页特效丨CsrCode.Cn</t ...

  3. 免写前缀JS包--prefixfree.min.js--插件

    /** * StyleFix 1.0.3 & PrefixFree 1.0.7 * @author Lea Verou * MIT license */ (function(){functio ...

  4. Session深入理解

    Session是在什么情况下产生的 客户端访问服务器端,服务器端为每个用户生成一个唯一的sessionId,是这样吗?sessionId的作用是什么? http://www.cnblogs.com/s ...

  5. MemCachedClient数据写入的三个方法

    set方法 1 将数据保存到cache服务器,如果保存成功则返回true 2 如果cache服务器存在同样的key,则替换之 3 set有5个重载方法,key和value是必须的参数,还有过期时间,h ...

  6. DbProviderFactories.GetFactory Oracle.ManagedDataAccess.Client

    因为最近项目,要使用微软的EF框架不安装Oracle客户端的情况下,访问Oracle数据库.调用如下代码的时候会报错. System.Data.Common.DbProviderFactories.G ...

  7. thinkphp对文件的上传,删除,下载操作

    工作需要,整理一下最近对php的学习经验,希望能对自己有帮助或者能帮助那些需要帮助的人. thinkphp对文件的操作,相对来说比较简单,因为tp封装好了一个上传类Upload.class.php 废 ...

  8. 重拾C++ 基础知识总结(二)

    1.标准库string类型: 用户程序要使用string类型对象,必须包含相关头文件 #include <string> 字符串字面值与标准库string类型不是同一种类型,字符串字面值是 ...

  9. underscorejs-max学习

    2.15 max 2.15.1 语法: _.max(list, [iteratee], [context]) 2.15.2 说明: 返回list中的最小值. list为集合,数组.对象.字符串或arg ...

  10. 较详细的sqlserver数据库备份、恢复(转)

    C#实现SQL数据库备份与恢复 有两种方法,都是保存为.bak文件.一种是直接用Sql语句执行,另一种是通过引用SQL Server的SQLDMO组件来实现: .通过执行Sql语句来实现 注意,用Sq ...