Programme en c
Résolu
ivesso
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
loupius Messages postés 697 Date d'inscription Statut Membre Dernière intervention -
loupius Messages postés 697 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
ecrire un programme qui lit un nombre entier N formé de 4 chiffres donné par l'utilisateur et qui calcule et affiche chaque chiffre composant le nomre de N sur une ligne
exemple:
pour N=4963,le programme affiche :
le 1er chiffre est :4
le 2eme-- :9
le 3eme----- :6
le 4eme ----- :3
/*jai essayé avec ce programme mai sa marche pas
#include <stdio.h>
#include<conio.h>
main ()
{
int n,a,b,c,d,reste1,reste2,reste3;
printf("donner un nombre de 4 chiffres:");
scanf("%d",&n);
a=n/1000;
b=reste1/100;
reste2/10=c;
reste3=d;
printf("le premier chiffre est: %d\n le deuxieme chiffre est: %d \n le toisieme chiffre est : %d \n le quatrieme chiffre est : %d\n",a,b,c,d);
getch();
*/
ecrire un programme qui lit un nombre entier N formé de 4 chiffres donné par l'utilisateur et qui calcule et affiche chaque chiffre composant le nomre de N sur une ligne
exemple:
pour N=4963,le programme affiche :
le 1er chiffre est :4
le 2eme-- :9
le 3eme----- :6
le 4eme ----- :3
/*jai essayé avec ce programme mai sa marche pas
#include <stdio.h>
#include<conio.h>
main ()
{
int n,a,b,c,d,reste1,reste2,reste3;
printf("donner un nombre de 4 chiffres:");
scanf("%d",&n);
a=n/1000;
b=reste1/100;
reste2/10=c;
reste3=d;
printf("le premier chiffre est: %d\n le deuxieme chiffre est: %d \n le toisieme chiffre est : %d \n le quatrieme chiffre est : %d\n",a,b,c,d);
getch();
*/
A voir également:
- Programme en c
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
5 réponses
C'est sur que ça risque pas.
Pour a tu dis n/1000, or a est déclaré comme un entier. n/1000 n'en est pas un. Mais admettons qu'il en soit un, ça n'est pas exactement comme ça qu'on récupère les chiffres.
De plus, tu utilises reste1, reste2 et reste3 sans les utiliser...
Deux méthodes, la première, utiliser une variable intermédiaire de type chaine (string)
Tu écris n dans cette variable, et ensuite tu lis les éléments de cette variable (le string étant traité comme un tableau).
Si tu as juste besoin d'écrire les nombres, ça devrait être bon.
Par contre, si tu as besoin de les réutiliser ensuite il te faut utiliser une méthode plus mathématique.
Heureusement que ton nombre a un nombre connu à l'avance de chiffre parce que sinon, bonjour la galère ^^
Dans ce cas là, ce qu'il faut que tu fasses, c'est regarder combien il y a de fois 1000 dans n (division entière, fonction modulo...), écrire ce nombre dans a et écrire le reste dans n (ou dans une variable intermédiaire). Ensuite, tu réitères le même procédé avec 100 dans ta nouvelle valeur de n, tu inscris le résultat dans b, tu inscris le reste dans n (ou dans la variable) et ainsi de suite pour 10 et 1
Pour a tu dis n/1000, or a est déclaré comme un entier. n/1000 n'en est pas un. Mais admettons qu'il en soit un, ça n'est pas exactement comme ça qu'on récupère les chiffres.
De plus, tu utilises reste1, reste2 et reste3 sans les utiliser...
Deux méthodes, la première, utiliser une variable intermédiaire de type chaine (string)
Tu écris n dans cette variable, et ensuite tu lis les éléments de cette variable (le string étant traité comme un tableau).
Si tu as juste besoin d'écrire les nombres, ça devrait être bon.
Par contre, si tu as besoin de les réutiliser ensuite il te faut utiliser une méthode plus mathématique.
Heureusement que ton nombre a un nombre connu à l'avance de chiffre parce que sinon, bonjour la galère ^^
Dans ce cas là, ce qu'il faut que tu fasses, c'est regarder combien il y a de fois 1000 dans n (division entière, fonction modulo...), écrire ce nombre dans a et écrire le reste dans n (ou dans une variable intermédiaire). Ensuite, tu réitères le même procédé avec 100 dans ta nouvelle valeur de n, tu inscris le résultat dans b, tu inscris le reste dans n (ou dans la variable) et ainsi de suite pour 10 et 1
//#include <stdio.h>
#include<conio.h>
main ()
{
int n,a,b,c,d,reste1,reste2,reste3;
printf("donner un nombre de 4 chiffres:");
scanf("%d",&n);
a=n/1000;
b=reste1/100;
reste1=n%100;
c=reste2/10;
reste2=n%10;
reste3=d;
printf("le premier chiffre est: %d\n le deuxieme chiffre est: %d \n le toisieme chiffre est : %d \n le quatrieme chiffre est : %d\n",a,b,c,d);
getch();
}//
quand jexecute jai
pour n=4321
le premier est 4
.... :1
..................:229361
..................:140
#include<conio.h>
main ()
{
int n,a,b,c,d,reste1,reste2,reste3;
printf("donner un nombre de 4 chiffres:");
scanf("%d",&n);
a=n/1000;
b=reste1/100;
reste1=n%100;
c=reste2/10;
reste2=n%10;
reste3=d;
printf("le premier chiffre est: %d\n le deuxieme chiffre est: %d \n le toisieme chiffre est : %d \n le quatrieme chiffre est : %d\n",a,b,c,d);
getch();
}//
quand jexecute jai
pour n=4321
le premier est 4
.... :1
..................:229361
..................:140
re
réécris la section entre scanf("%d",&n); & printf("le premier...
car tu utilises des variables non initialisées
ie: c = reste1 / 100 alors que tu n'as encore rien mis dans reste1
réécris la section entre scanf("%d",&n); & printf("le premier...
car tu utilises des variables non initialisées
ie: c = reste1 / 100 alors que tu n'as encore rien mis dans reste1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question