目录
7-14 十六进制转十进制
请编写程序,输入十六进制数,输出对应的十进制数。
输入格式
十六进制非负整数
输出格式
对应的十进制非负整数
输入样例
13Ba
输出样例
5050
代码长度限制16 KB
时间限制400 ms
内存限制64 MB
代码
#include <stdio.h>
int main(){
long n;
scanf("%lx",&n);
printf("%ld",n);
}
7-15 十进制转十六进制
请编写程序,输入十进制数,输出对应的十六进制数。
输入格式
十进制非负整数
输出格式
对应的十六进制非负整数
要求:十六进制数中的字母均为大写形式。
输入样例
5050
输出样例
13BA
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%X\n",n);
}
思路:
两题都是进制间的转换。两题都有简单做法就是直接以十六进制输入十进制输出,或者以十进制输入以十六进制输出。在C语言有个格式符“%x”或者“%X”以十六进制数形式输出整数,当x为小写时十六进制输出结果为小写例如9a,当X为大写时十六进制输出结果为大写例如9A。(详见C语言基础——%X(十六进制)的几种不同输出格式_%x c++_liugan5371375的博客-CSDN博客十六进制的输出格式控制符https://blog.csdn.net/liugan5371375/article/details/51724392)。“%d”以十进制数形式输出整数。因此14题可以用%X(14题既有大写又有小写,因此X只能用大写)输出,%d输出,即可得到答案。15题反之亦然。两题中的变量最好使用long int定义,7-14变量必须使用long int,否则最后一个测试点过不了。
测试点:
14题测试点:
本题共五个测试点。测试点4判断输入变量是否为长整型。