1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| #include <stdio.h>
main()
{
int tab[64], i, nbretoconvert, base, a, nb, final;
char basedigits[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
i=0;
// Declaration des bases de O à 16.
printf ("Entrez le nombre à convertir.\n");
scanf ("%i", &nbretoconvert);
printf ("Entrez une base.\n");
scanf ("%i", &a);
if (a<=1)
printf ("Entrez une base > 1\n");
else
a = base;
// Demande de nombre.
do{
tab[i] = nbretoconvert % base; // on met le reste de la divison dans le tableau.
i++;
nbretoconvert = nbretoconvert/base; // le nouveau nombre est le reste de la divison.
}
while (nbretoconvert != 0); // on utilise do...while pour que le nombre 0 ait une base.
// Pour afficher le résultat dans le sens inverse
i = i-1; // car apres la boucle, i vaut le nombre de chiffre du modulo + 1.
printf ("Le nombre converti est :\n");
while (i>= 0){
nb[i] = final;
printf ("c", basedigits[final]);
}
} |
Partager