蓝桥杯训练 算法提高 P0102 (模拟,格式化输出)

版权声明:欢迎转载,如果转载,请注明转载地址,谢谢你啦!觉得文章不错的话右上角点个赞再走呀! https://blog.csdn.net/qq_40763929/article/details/87026422

 用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出,十六进制表示成3位,八进制表示成4位,若不够前面补0。(不考虑输入不合法的情况)
输入
  1D5
输出
(注意冒号后面有一个空格)
  Hex: 0x1D5
  Decimal: 469
  Octal: 0725

不能用多组输入输出,不然只能过一组数据。 

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;

int main()
{
	int n,m,j,k,i,T;
	char s[4];
	int num[4];	
	gets(s);
		for (i=0;i<strlen(s);i++)
		{
			if (s[i]>='A'&&s[i]<='F')
			num[i] = 10+s[i]-'A';
			else
			num[i] = s[i]-'0';
		}
		int ans = num[0]*16*16+num[1]*16+num[2];
		printf("Hex: 0x%s\n",s);
		printf("Decimal: %d\n",ans);
		printf("Octal: %.4o\n",ans);
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_40763929/article/details/87026422