+ 1

Why is my code for C++ 21 code project wrong?

#include <iostream> using namespace std; int main() { int n; cin >> n; cout<<n<<endl; while(n>1){ cout<<--n<<endl; if((n%5)==5){ cout<<"Beep"<<endl; } } //your code goes here return 0; }

9th Apr 2022, 10:59 AM
Leapardbreeze
Leapardbreeze - avatar
2 ответов
+ 1
The code decrements before printing. That causes it to skip printing the starting value of the countdown. Move the decrement to then end of the loop. Or more appropriately, use a for loop because it is a known number of iterations. The conditional in the if statement will be always false. Modulo (%) returns the remainder of a division. If you divide by 5, the remainder will be within 0 through 4, never 5. To check for exact multiples of 5, look for remainder of 0.
9th Apr 2022, 1:17 PM
Brian
Brian - avatar
+ 1
You have to test how it works and what equals: n%5 The result of it can on console be printed. Then you can see what happend and why.
9th Apr 2022, 11:00 AM
JaScript
JaScript - avatar