IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

le plus grand de trois nombres


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Points : 44
    Points
    44
    Par défaut le plus grand de trois nombres
    J'aimerai crée un programme qui lit trois valeurs entières (A, B et C) au clavier et qui affiche la plus grande des trois valeurs
    j'ai entrer : 60-8-5
    et il m'affiche que le plus grand est : 8
    voila ce que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #include<stdio.h>
    #include<conio.h>
    main(){
           int a;
     
           int b;
     
           int c,max;
     
           printf("Introduisez trois nombres :");
           scanf("%i %i %i",&a,&b,&c);
     
           if (a>b){
                    max=b;
                    }else{
                          max=a;
                          }
                          if (c>max){
                                     max=c;
                                     }
                                     printf(" la valeur max est %i",max);
     
     
                                     getch();
                                     }

  2. #2
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Il y a des balises de codes pour présenter ton code. Le signe # juste au dessus de là où tu écris

    Ton erreur se situe au niveau de ta première affectation.
    En effet si a>b il ne faut pas mettre max=b mais max=a car a est supérieur à b et non l'inverse

    De plus, la syntaxe correcte du main est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int main(void)
    /* Ou */
    int main(int argc, char *argv[])
    De plus la fonction main doit retourner un nombre; il faut donc mettre "return 0;" à la fin de ton code

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Points : 44
    Points
    44
    Par défaut
    ça marche Merci beaucoup pouet mais j'ai encore une petite question si ça vous dérange pas
    j'aimerai savoir a quoi sert le rôle de "return 0;" et merci encore un fois

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 078
    Points : 2 338
    Points
    2 338
    Par défaut
    Le %i dans le printf et le scanf me titille un peu.

    Ca a l'air de marcher, mais je pensais que c'etait uniquement %d pour des entier.

    Que veut dire %i (c'est pas le truc de la precision desfois ?)

    EDIT :


    La fonction main revoie un int, cet int signifiant quelque chose.
    Si la fonction renvoi 0, cela veut dire que tout c'est bien passer (normalement),
    si elle renvoie un autre nombre, cela veut dire qu'il y a eu une erreur.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Points : 44
    Points
    44
    Par défaut
    Merci beaucoup SofEvans je pense qu'elle y a pas de différence entre %d ,%i

  6. #6
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    %i est équivalent à %d

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Pas dans scanf(): "%d" signifie "entier en décimal", "%i" signifie "entier dans n'importe quelle base". Ainsi, saisir "0100" donnera cent avec %d, soixante-quatre avec %i...

    Edit: aussi, ce truc est faux:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	if (a>b){
    		max=b;
    	}else{
    		max=a;
    	}

  8. #8
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 078
    Points : 2 338
    Points
    2 338
    Par défaut
    Ahh, je me disais bien que %d et %i ne pouvait pas faire la meme chose rigoureusement.

    Merci médinoc, mes recherche se sont révélé infructueuse et ton information les resoud

  9. #9
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Ah oui effectivement !
    Merci pour l'info

Discussions similaires

  1. [WD-2010] [Nombres] Renvoyer le plus petit de trois nombres
    Par Corvvin dans le forum VBA Word
    Réponses: 5
    Dernier message: 21/10/2011, 16h29
  2. Prgramme qui affiche le plus grand et petit nombre
    Par Hipokoo dans le forum Débuter
    Réponses: 5
    Dernier message: 25/09/2011, 20h20
  3. Plus grand nombre possible
    Par lia dans le forum C++
    Réponses: 2
    Dernier message: 30/08/2006, 11h22
  4. Réponses: 4
    Dernier message: 29/05/2006, 13h04
  5. [Access] Trouver qui a le plus grand nombre de visites
    Par maxidoh dans le forum Langage SQL
    Réponses: 13
    Dernier message: 03/04/2006, 03h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo