J'ai tjrs un pb avec ce programme.
Comme le dit le titre j'ai décidé de m'y prendre en convertissant l'entier fournit en chaîne de caractères.
Et voici mon code:
Je rappèle à l'avance que je l'ai fait sur un compilateur mobile c que j'ai installé sur mon téléphone.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nbre;
char chaine[100];
/*
*chaine est un tableau qui contiendra int nbre en chaine de caracteres.
*/
int taille;
/*
*taille est la taille de int nbre.
*/
int p,d;
/*
*p désigne le premier chiffre à afficher et d le dernier.
*/
printf("Nombre:");
scanf("%d",&nbre);
/*
*le nombre entré sera mis sous forme de chaine de caracteres appelé chaine.
*/
sprintf(chaine,"%d",nbre);
/*
*on affiche chaine pour voir si c´est bon
*/
printf("%s",chaine);
/*
*on connaitra ensuite la taille de nbre afin de pouvoir indexé les premier et dernier nbre de chaine
*/
taille=sizeof(nbre);
//On affiche la taille de nbre
printf("\n\t%d",taille);
/*
*les valeurs de p & d dans chaine
*/
p=chaine[0];
d=chaine[taille-1];
//AFFICHAGE DU RÉSULTAT FINAL.
printf("\nle premier chiffre est %d et le dernier est %d",p,d);
return 0;
}
Et à l'affichage j'ai ceci par exemple :
Nombre:35678
35678
4
le premier chiffre est 51 et le dernier est 55
Ou encore:
Aidez moi à trouvez la faille svp.
A voir également:
Deviner un nombre entre 1 et 100 java
Dernier nombre premier - Meilleures réponses
Deviner un nombre entre 1 et 100 c' - Meilleures réponses
@jordan: Le dernier élément d'un tableau est toujours taille - 1, et non taille
Le souci vient juste du mode d'affichage, %c et non %d, car sinon tu auras la valeur du caractère ascii et non sa représentation ('A' => 65, '0' => 48, '1' => 49, etc...)
Sinon, utilise simplement des entiers. Tu demandes un entier, avec %d, et tu déduis le premier et dernier chiffre avec des divisions et des modulos.
Le souci vient juste du mode d'affichage, %c et non %d, car sinon tu auras la valeur du caractère ascii et non sa représentation ('A' => 65, '0' => 48, '1' => 49, etc...)
Et tu crois que le lien que je lui ai donné parle de quoi ??
Et tu crois que le lien que je lui ai donné parle de quoi ??
De code ascii. Pas forcément de représentation via printf. Ça peut sembler évident, mais pas forcément pour un débutant. Le complément ne faisait pas de mal.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Justement le problème est que j'ai voulu résoudre cela par les divisions et les modulos mais rien! Je ne trouvais pas d'idée.
Merci si vous pouvez un peu m'orienter!
En mélangeant les deux, tu peux obtenir ce que tu veux.
Un modulo pour le chiffre de droite.
Des divisions (boucle) + un modulo pour le chiffre de gauche.