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);
}
}