setw(5) sets the width to 5 characters, padding with spaces on the left by default.
Step 2: Apply setw to numbers
Number 42 is printed right-aligned in 5 spaces: 3 spaces + '42'. Number 1234 is 4 digits, so 1 space + '1234'.
Final Answer:
42
1234 -> Option A
Quick Check:
setw pads left with spaces [OK]
Hint: setw pads on left by default for numbers [OK]
Common Mistakes:
Assuming setw pads on the right
Ignoring spaces added by setw
Thinking setw truncates numbers
4. Identify the error in this code snippet:
#include <iostream>
using namespace std;
int main() {
cout << setw(10) << 3.14159 << endl;
return 0;
}
medium
A. No error, code runs fine
B. Using cout without std:: prefix
C. Incorrect use of endl
D. Missing <iomanip> header for setw
Solution
Step 1: Check header includes
The code uses setw but does not include <iomanip>, which is required.
Step 2: Verify other parts
cout is used with using namespace std;, so no prefix needed. endl usage is correct.
Final Answer:
Missing <iomanip> header for setw -> Option D
Quick Check:
setw needs iomanip header [OK]
Hint: Always include <iomanip> when using setw [OK]
Common Mistakes:
Forgetting to include <iomanip>
Thinking cout needs std:: with using namespace std;
Assuming endl usage causes error
5. How would you format the output of a floating-point number to always show exactly 3 decimal places and a total width of 8 characters, right-aligned?
hard
A. cout << fixed << setprecision(3) << setw(8) << number;
B. cout << setprecision(3) << setw(8) << number;
C. cout << setw(8) << fixed << number << setprecision(3);
D. cout << fixed << setw(3) << setprecision(8) << number;
Solution
Step 1: Set fixed decimal places
Use fixed and setprecision(3) to show 3 decimals exactly.
Step 2: Set total width and alignment
Use setw(8) to set total width to 8 characters, right-aligned by default.