Kann mir jemand helfen mit meiner while-Schleife?

Schreiben Sie eine while-Schleife, die Drucke userNum geteilt durch 2 (integer-division) bis zur 1. Folgen Sie jede Zahl durch ein Leerzeichen. Beispiel für die Ausgabe für userNum = 20:

20 10 5 2 1

#include <iostream> 
using namespace std;

int main() 
{    
   int userNum = 0;

   userNum = 20;    
   cout << userNum << " ";
   while (userNum > 1)    
   {
      userNum = userNum/2;
      cout << userNum << " ";    
   }    
   cout << endl;

   return 0; 
}

Teilt es richtig, bis ich auf 0, wo er gibt mir 0 anstatt von Abbruch. Was mache ich falsch?

Dank!

  • Macht es einfach halten, geben Sie 0? oder tut es Ihnen null 1 mal und dann kündigen?
  • Der code, den Sie geschrieben habe, verhält Sie sich genau wie Sie es beschreiben sollte, ich bin nicht zu sehen, jede 0 als Ausgang
  • "Er teilt richtig, bis ich auf 0, wo er gibt mir 0 statt Abbruch" meinst du, dass das Programm nicht funktioniert, wenn Sie userNum = 0?
InformationsquelleAutor Fate | 2016-01-28
Schreibe einen Kommentar