2017-07-09 5 views
1
# include <iostream> 
using std::endl; 
using std::cout; 
using std::cin; 
int main() 
{ 
    int numUserInt;   // Number of integers the user inputs 
    int integers; 
    int number; 
    int maxNumber = 0; 
    int minNumber = 0; 

    // Get the number of integers 
    cout << "How many integers would you like to enter?" << endl; 
    cin >> numUserInt; 
    cout << "Please enter " << numUserInt << " integers." << endl; 

    integers = 1; 

    while (integers <= numUserInt) 
    { 
     cin >> number; 

     if (numUserInt == 1) 
      maxNumber = minNumber = number; 

     if (number > maxNumber) 
      maxNumber = number; 

     if (number < minNumber) 
      minNumber = number; 

     integers++; 
    } 

    cout << "min: " << minNumber << endl; 
    cout << "max: " << maxNumber << endl; 
    return 0; 
} 

Für eine Hausaufgabe sollte ich einen Benutzer fragen: „Wie viele Zahlen sie möchten eingeben“ und dann den Max und min Zahl aus der Menge finden, ohne Arrays. In den meisten Fällen funktioniert mein Programm, aber wenn der Benutzer sagen wir die Eingabe -6 -6 ist die Ausgabe min: -6 und max: 0. Ich möchte, dass die Min und Max ist -6, aber ich habe keine Ahnung, wie Tun Sie dies, indem Sie den Rest des Codes arbeiten lassen. Kennt jemand einen Weg, dies zu tun?Anzeige max und min Anzahl von Benutzern eingegebenen Zahlen C++

+1

typische Art und Weise, dies zu tun ist, um den anfänglichen Maximalwert des Minimal ganzzahligen Wert, und umgekehrt für die erste min zu machen. –

+0

Wenn Sie dürfen, sollten Sie in Erwägung ziehen, ['std :: minmax_element'] (http://en.cppreference.com/w/cpp/algorithm/minmax_element) zu verwenden (da es sich um Hausaufgaben handelt, sind Sie vielleicht nicht, aber schauen Sie es sowieso, damit Sie wissen, was zu tun ist, wenn/wenn ein ähnliches Problem im wirklichen Leben auftritt). –

Antwort

0

Ihr Code funktioniert genau wie beabsichtigt, wenn Sie
ersetzen if (numUserInt == 1)
von
if (integers == 1).

Auf diese Weise wird die Empfehlung von Kommentar und anderen Antworten,
mit ersten Eingang min und max init wird
implementiert.

Output:

How many integers would you like to enter? 
2 
Please enter 2 integers. 
-6 
-6 
min: -6 
max: -6 
1

den Wert festlegen, um die min und max Variable auf die Anfangseingabe dann die min und max zu dem, was jedes Mal vergleichen, die Benutzereingaben zu überprüfen, ob ein Update neeeded wird.