Programme c max

Bonjour,
g un probleme pour compiler se programe qui determine le max de 3 nombres reels, mais g un probleme aparament , esque quelqu'un pourai me dire ou se trouve la faute , je sais que c un truc d'acolade , mais je trouve , merci pour l'aide :

#include<stdio.h>
void main()
{
float a,b,c,max;
printf("entrez les valeur de a , b et c");
printf("\n a= ");
scanf("%f",&a);
printf("\n b= ");
scanf("%f",&b);
printf("\n c= ");
scanf("%f",&c);
if(a>b)
{ if(b>c)
max=a;
printf("max=%f",a);

else max=a;
printf("max=%f",a);
{
else
if(a>c)
{ max=b
printf("max=%f",b); }
{ else max=b;
printf("max=%f",b);
}
if(c>a)
{ if(b>a)
max=c;
printf("max=%f",c);
else max=c;
printf("max=%f",c);
}}}
Configuration: Windows XP sp2
Internet Explorer 6.0

7 réponses

  1. tes if sont pas très bien structurés...

    un petit truc, même si un if ne possède qu'une seule instruction, met quand même des parenthèses, ça évite les erreurs

    il y a tellement de if et de else sans parenthèses dans ton code que je peux pas vraiment comprendre ta logique.

    Met des parenthèses et tu y verras plus clair.
    Si tu ne vois toujours pas, repost ton code ici.
    0
    1. j'ai esseyer de metre des parentheses dans chaque if mais sa marche pas ,esque quelqu'un pourai m'aider
      0
      1. bonsoir,
        voilà ton code,

        tu comprends qu'il ne peux pas marché (je n'ai rien rajouté, ni rien retiré, juste tabulé, et aller a la ligne...

        #include<stdio.h>
        
        void main()
        {
        	float a,b,c,max;
        	
        	printf("entrez les valeur de a , b et c");
        	printf("\n a= ");
        	scanf("%f",&a);
        	printf("\n b= ");
        	scanf("%f",&b);
        	printf("\n c= ");
        	scanf("%f",&c);
        	if(a>b)
        	{
        		if(b>c)
        			max=a;
        			
        		printf("max=%f",a);
        
        		else
        			max=a;
        			
        		printf("max=%f",a);
        		
        		{
        			else
        				if(a>c)
        				{
        					max=b
        					printf("max=%f",b);
        				}
        				
        			{
        				else
        					max=b;
        				printf("max=%f",b);
        			}
        			
        			if(c>a)
        			{
        				if(b>a)
        				max=c;
        				printf("max=%f",c);
        				
        				else
        					max=c;
        					
        				printf("max=%f",c);
        			}
        		}
        	}


        déjà ton main est pas fermé...
        0
        1. sa marche pas , je sais pas , j'y arrive pas ,g beau changer de paranthese mais rien , ! aidez moi svp
          0
          1. non, mais tu vois que l'accolade ligne 26 par exemple n'as aucune raison ....
            0
            1. je sais je sais ,je lé laisser comme il est , g fait certaine rectification , il c arrété a une faute ,
              0
              1. c'est un probleme d'accollade que tu as
                essaye ça
                #include<stdio.h>
                
                void main()
                {
                	float a,b,c,max;
                
                	printf("entrez les valeur de a , b et c");
                	printf("\n a= ");
                	scanf("%f",&a);
                	printf("\n b= ");
                	scanf("%f",&b);
                	printf("\n c= ");
                	scanf("%f",&c);
                	if(a>b)
                	{
                		if(b>c)
                		{
                			max=a;
                                             printf("max=%f",a);                      
                                     }
                            else
                                {
                                    if(a>c)
                                    {
                                        max=a;
                                        printf("max=%f",a);
                                    }
                                        else
                                        {
                                            max=c;
                                            printf("max=%f",c);
                                        }
                                }
                	}
                            else
                            {
                                if(b>c)
                                {
                                    max=b;
                                    printf("max=%f",b);
                                }
                                    else
                                    {
                                        max=c;
                                        printf("max=%f",c);
                                    }
                            }
                }
                
                

                mais tu te complique la vie on peut reduire les lignes de code par deux et plus le code est court plus on evite les erreurs...
                0