Questa è una semplice domanda del corso introduttivo, ha chiesto di scrivere un programma che chiede all'utente di immettere 3 numeri e di determinare il numero più grande e più piccolo. Utilizzare solo se istruzione. Ho pensato di aver scritto qualcosa del genere, ma è possibile utilizzare solo 3 confronti, o meno? Penso che quando y > largest
, ci dice anche qualcos'altro?C++ Come ottenere il più grande e il più piccolo
Questo è quello che ho provato finora: che ha richiesto 4 confronti.
int x, y, z;
int smallest, largest;
cout << "Please enter 3 numbers to compare: " ;
cin >> x >> y >> z;
smallest = x;
largest = x;
if (y > largest)
largest = y;
if (z > largest)
largest = z;
if (y < smallest)
smallest = y;
if (z < smallest)
smallest = z;
cout << "largest: " << largest << ", and smallest: " << smallest << endl;
tip: bubblesort sarebbe solo tre confronti, e dirvi il minimo e il massimo. –
In realtà, bubblesort normalmente esegue swap in modo che sia più complesso di alcune delle risposte. [Ma ecco un bubblesort inline srotolato!] (Http://ideone.com/SGiYGu) –