// reverse.cpp // Reverse the digits of a number. #include <iostream> #include <
ID: 3627066 • Letter: #
Question
// reverse.cpp// Reverse the digits of a number.
#include <iostream>
#include <iomanip>
using namespace std;
/* Write prototype for reverseDigits */
int main()
{
int number; // input number
cout << "Enter a number between 1 and 9999: ";
cin >> number;
cout << "The number with its digits reversed is: ";
// find number with digits reversed
cout << /* Write call to reverseDigits */ << endl;
} // end main
// reverseDigits returns number obtained by reversing digits of n
/* Write function header for reverseDigits */
{
int reverse = 0; // reversed number
int divisor = 1000; // current divisor
int multiplier = 1; // current multiplier
// loop until single-digit number
while ( n > 9 )
{
// if n >= current divisor, determine digit
if ( n >= divisor )
{
// update reversed number with current digit
reverse += n / divisor * multiplier;
n %= divisor; // update n
/* Write a line of code that reduces divisor by a factor of 10 */
/* Write a line of code that increases multiplier by a factor of 10 */
} // end if
else // else, no digit
divisor /= 10; // update divisor
} // end while
reverse += n * multiplier;
return reverse; // return reversed number
} // end function reverseDigits
Sample output:
Enter a number between 1 and 9999: 7631
The number with its digits reversed is: 1367
Explanation / Answer
#include <iostream>
#include <iomanip>
using namespace std;
int reverse(int);
int main()
{
int number; // input number
cout << "Enter a number between 1 and 9999: ";
cin >> number;
cout << "The number with its digits reversed is: ";
cout << reverse(number) << endl;
} // end main
int reverse(int n)
{
int reverse = 0; // reversed number
int divisor = 1000; // current divisor
int multiplier = 1; // current multiplier
while ( n > 9 )
{
if ( n >= divisor )
{
reverse += n / divisor * multiplier;
n %= divisor; // update n
divisor = divisor/10;
multiplier =multiplier*10;
} // end if
else // else, no digit
divisor /= 10; // update divisor
} // end while
reverse += n * multiplier;
return reverse; // return reversed number
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.