10、十进制转十六进制(蓝桥杯基础练习 )

问题描述
  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
  给出一个非负整数,将它表示成十六进制的形式。
输入格式
  输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
  输出这个整数的16进制表示
思路:
第一步:清楚十进制与十六进制的转换关系
**

注意:%X

%x以十六进制数形式输出整数
%o以八进制数形式输出整数,

**所以,代码如下;

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	printf("%x",n);
	return 0;
}

就是这么无情啊,自己之前编写的54分还没有找到错在哪了,就这样吧555

这个是我之前写的,系统上传的时候是错误的

# include <stdio.h>
int main ()
{
	int i,a;
	char f[8];
	scanf ("%d",&a);
		if(a==0)
	{
		printf ("0");
		return 0;
	}
	for(i=0;i<8;i++)
	{
		f[i]=a%16;
		a=a/16;
		if (f[i]>10)
			f[i]='A'+f[i]-10;
		else
			f[i]='0'+f[i];

	}
	for(i=7;i>=0;i--)
	{
		if(f[i]!='0')
		{
			printf("%x",f[i]);
		}
	}
	return 0;
}

难受哇!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值