[c]fonction qui retourne le max

Fermé
ivesso Messages postés 98 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 5 juillet 2011 - 15 sept. 2010 à 23:48
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 16 sept. 2010 à 09:11
Bonjour,
je veux écrire une fonction qui retourne le max de 3 entiers, voila mon programme,mais ça marche pas


int max3(int,int,int);

int  main(void)
{
   int a,b,c,z;
   scanf("%d",&a);
   scanf("%d",&b);
   scanf("%d",&c);

   z = max3(a,b,c);

   printf("le max est %d",z);
   printf("\n");

   
   return 0;
}

int max3(int a,int b,int c)
{int z;
    if(a>b&&a>c)
       z=a;
    if(b>a&&b>c)
       z=b;
    if(c>a&&c>b)
       z=c;

    return z;
}



A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
15 sept. 2010 à 23:58
Bonjour,

Qu'est-ce qui ne marche pas dans ton programme ?
Pour moi il est correct.
0
ivesso Messages postés 98 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 5 juillet 2011
Modifié par ivesso le 16/09/2010 à 00:18
quand j'exécute ya rien affiché .essai stp si ta dev ou turbo
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
16 sept. 2010 à 00:30
Ah je pense voir le problème.
Rajoute : system("PAUSE"); juste avant ton return 0;
Il te faudra ajouter lle header <stdlib.h>
Cdlt,
0
ivesso Messages postés 98 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 5 juillet 2011
16 sept. 2010 à 00:42
c fait , mais sa change rien :(
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
16 sept. 2010 à 08:29
Bizarre car votre programme fonctionne bien.
Sinon petite question de vérification :
Lorsque vous exécutez votre programme, trois scanf vont s'exécuter. Mais comme à ce moment vous n'avez mis aucun printf rien ne s'affichera. Avant que votre programme puisse afficher le max via le printf, vous devez tapez trois nombres et valider par la touche "entrée" (mais rien ne sera affiché à l'écran pendant cette étape puisque vous ne l'avez pas demandé au compilateur). Est-ce bien de ce cas que vous parlez ou encore d'un autre ?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
16 sept. 2010 à 09:11
Algorithme plus simple :
int max3(int a,int b,int c)
{int z;
    if(a>b&&a>c)
       z=a;
    else if(b>c)
       z=b;
    else
       z=c;

    return z;
}

Sinon, comme fiddy, je ne voi pas de problèmes.
lancer le programme dans une console peut être une bonne idée.
0