【基础训练-进制转换】进制转换
2018-01-23 15:06
113 查看
Sample Input
4
7
44
0x80685
-1
Sample Output
0x4
0x7
0x2C
525957
问题链接:UVA10473 Simple Base Conversion
问题简述:(略)
问题分析:
这是一个进制转换问题。
#include <cstdio>
int main()
{
char str[32];
while (gets(str)) {
int n;
if (str[1] == 'x') {
sscanf(str,"%x",&n);
printf("%d\n", n);
} else {
sscanf(str,"%d",&n);
if (n < 0) break;
printf("0x%X\n",n);
}
}
return 0;
}
学到的点:
本题中,C语言的sscanf将输入的字符串以所需要的形式(%x为十六进制,%d为十进制整数)存入n中,n再以printf函数用相应形式输出。sscanf巧妙的在内部进行进制转换后再存入n。不用我自行转换。
关于强大的sscanf可用上类似正则表达式的方法截取字符串,详见:http://blog.csdn.net/zhouwei1221q/article/details/44890617
4
7
44
0x80685
-1
Sample Output
0x4
0x7
0x2C
525957
问题链接:UVA10473 Simple Base Conversion
问题简述:(略)
问题分析:
这是一个进制转换问题。
#include <cstdio>
int main()
{
char str[32];
while (gets(str)) {
int n;
if (str[1] == 'x') {
sscanf(str,"%x",&n);
printf("%d\n", n);
} else {
sscanf(str,"%d",&n);
if (n < 0) break;
printf("0x%X\n",n);
}
}
return 0;
}
学到的点:
本题中,C语言的sscanf将输入的字符串以所需要的形式(%x为十六进制,%d为十进制整数)存入n中,n再以printf函数用相应形式输出。sscanf巧妙的在内部进行进制转换后再存入n。不用我自行转换。
关于强大的sscanf可用上类似正则表达式的方法截取字符串,详见:http://blog.csdn.net/zhouwei1221q/article/details/44890617
相关文章推荐
- 【基础训练-进制转换】Multiply
- 【基础训练-进制转换】Multiply
- 【基础训练-进制转换】decimal system
- 基础训练5-进制转换
- OJ_1080 进制转换
- 题目1080:进制转换
- 黑马程序员 第9天 数组的进制转换 程序的封装
- POJ 1220 NUMBER BASE CONVERSION(较复杂的进制转换)
- CSDN编程挑战:进制转换--Java实现
- 用栈实现进制转换
- 数据结构实验之栈一:进制转换
- HDU 2031 进制转换
- Java的浮点数和整数的进制转换
- Delphi下的进制转换
- 数据结构实验之栈一:进制转换(栈的应用)
- ACM-进制转换
- 浅谈大数的进制转换
- 进制转换
- 进制转换
- java中各个进制转换