Preguntas de la prueba Lanqiao Cup Práctica básica Hexadecimal a decimal (Lenguaje C)

Descripción del problema

  Ingrese una cadena numérica hexadecimal positiva con no más de 8 dígitos desde el teclado, conviértala en un número decimal positivo y envíela.
  Nota: 10 ~ 15 en números hexadecimales están representados por letras mayúsculas en inglés A, B, C, D, E y F respectivamente.

Entrada de muestra

FFFF

Salida de muestra

65535

 

#include<bits/stdc++.h>
using namespace std;

int main()
{
	char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	char b[10];
	int k=0,i;
	int n;
	
	scanf("%d",&n);
	if(n==0)
	printf("0");
	else
	{
		while(n)
		{
			b[k++]=a[n%16];
			n=n/16;
		}
		for(i=k-1;i>=0;i--)
		printf("%c",b[i]);
	}
}

Será mucho más rápido imprimir directamente la tabla de decimal a hexadecimal , para que puedas volver a guardar las correspondientes.

Supongo que te gusta

Origin blog.csdn.net/with_wine/article/details/114974727
Recomendado
Clasificación