Using a while loop to print the counting numbers up to a set value

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 8K views
needOfHelpCMath
Messages
70
Reaction score
0
Write a while loop that prints 1 to userNum, using the variable i. Follow each number (even the last one) by a space. Assume userNum is positive. Ex: userNum = 4 prints:
1 2 3 4

Code:
#include <iostream>
using namespace std;

int main() {
   int userNum = 0;
   int i = 0;

   userNum = 4;    // Assume positive
   
   
while ( userNum > i) {
cout << userNum << " ";
userNum = userNum - 1;
}

   cout << endl;

   return 0;
}
Run
✖ Testing with userNum = 4
Expected output: 1 2 3 4
Your output: 4 3 2 1
 
on Phys.org
Re: What i am doing wrong?

You need to use [m]i[/m] to "index" your while loop, which should run as it is less than or equal to [m]userNum[/m]. Since [m]i[/m] is initialized to zero, you will want to increment it before the comparison, using [m]++i[/m], and then you will not need to increment it within the loop, you will only need to print its value along with the trailing space.
 
Re: What i am doing wrong?

MarkFL said:
You need to use [m]i[/m] to "index" your while loop, which should run as it is less than or equal to [m]userNum[/m]. Since [m]i[/m] is initialized to zero, you will want to increment it before the comparison, using [m]++i[/m], and then you will not need to increment it within the loop, you will only need to print its value along with the trailing space.

"Awesome To The Max"