Se no ho provato quasta soluzione:
codice:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char** argv)
{
char strnum[10];
int cont=0;
int num;
int rest;
do{
printf("Inserisci un numero intero positivo: ");
scanf("%d",&num);
fflush(stdin);
system("cls");
printf("Il numero %d in base esadecimale e' ",num);
}
while(num<0);
while(num>1){
rest = num%16;
switch(rest){
case 10:
strnum[cont++]='A';
break;
case 11:
strnum[cont++]='B';
break;
case 12:
strnum[cont++]='C';
break;
case 13:
strnum[cont++]='D';
break;
case 14:
strnum[cont++]='E';
break;
case 15:
strnum[cont++]='F';
break;
default:
strnum[cont++]='0'+rest;
}
num/=16;
}
while(--cont>=0){
printf("%c",strnum[cont]);
}
printf("\n");
getchar ();
return 0;
}