Három szám közül melyik a legnagyobb?
A feladat, hogy három szám közül döntsük el melyik a legnagyobb
If-el sikerült megcsinálni, de a switch-ben nem, ott hogyan adom meg a 3 esetet? hiszen a case után csak számot írhatok
switch(1)
{
default:
return Math.max(a, Math.max(b, c));
}
Switch-csel van, nem? :)
Elég egy switch is.
switch(true){
case a>b && a>c:
a
break;
case b>c && b>a:
b
break;
default:
c
}
Nem gyakori így használni de egymásba ágyazott switcheknél azért jóval rövidebb, illetve olvashatóság szempontjából még ha szokatlan, akkor is jobb.
#16 nekem ezt dobja:
prog.c: In function ‘main’:
prog.c:7:3: error: case label does not reduce to an integer constant
ideone.com-on próbáltam, C-ben, GCC 6.3-mal.
Sok megoldás szóba jöhet nálam. Talán nem ártana egy funkciót létrehoznod hozzá.
Egyenlőre ezt ajánlom(lehet hogy más is írta, nem olvastam a válaszokat):
int max=a >= b && a >= c ? a : b >=a && b >= c ? b : c);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!