Einzelnen Beitrag anzeigen
Alt 05.03.2002, 16:27   #7
Sonic
Master
 
Registriert seit: 28.03.2000
Alter: 45
Beiträge: 691


Sonic eine Nachricht über ICQ schicken
Standard

Dein Programm ist auch logisch nicht ganz richtig!

Die Zeilen

if (a=b);
printf ("Die Zahl %d und die Zahl %d sind gleich groß",a,b);

gehören vor dem letzen else! Sonst gibt er zb bei der eingabe von a=1, b=1, c=2 "Die Zahl 1 und die Zahl 1 sind gleich groß" aus.

Korrigierte Version:

Code:
if (a==b && a==c)
 printf ("Die erste Zahl %d und die zweite Zahl %d und die dritte Zahl %d sind gleich gross!",a,b,c);
else 
 if (a>b)
  if (a>c)
   printf ("Die Zahl %d ist die groesste Zahl",a);
  else if (a==c)
    printf ("Die Zahl %d und die Zahl %d sind gleich groß",a,c);
  else
    printf ("Die Zahl %d ist die groesste",c);
 else if (a==b)
  printf ("Die Zahl %d und die Zahl %d sind gleich groß",a,b);
 else if (c>b)
  printf ("Die Zahl %d ist die groesste Zahl",c);
 else if (c==b)
  printf ("Die Zahl %d und die Zahl %d sind gleich groß",b,c);
 else
  printf ("Die Zahl %d ist die groesste Zahl",b);
"Schönere" und ausgebesserte version
Code:
  if (a==b && a==c)
   printf ("Die erste Zahl %i und die zweite Zahl %i und die dritte Zahl %i sind gleich gross!\n",a,b,c);
  else
  {
   if(a>=b)
   {
    if (a>c)
     printf("Die Zahl %i ist die größte Zahl\n", a);
    else if(a<c)
     printf("Die Zahl %i ist die größte Zahl\n", c);
    else 
     printf("Die zahl %i und die zahl %i sind gleich groß\n", a,b);
   }
   else
   {
    if (b>c)
     printf("Die Zahl %i ist die größte Zahl\n", b);
    else if(b<c)
     printf("Die Zahl %i ist die größte Zahl\n", c);
    else 
     printf("Die zahl %i und die zahl %i sind gleich groß\n", a,c);
   }
  }
____________________________________
__________________
|»»»»»SONIC««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Sonic ist offline   Mit Zitat antworten