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.