0
0
C++programming~20 mins

Multiple input and output in C++ - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Multiple Input/Output Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of function with multiple inputs and outputs using references
What is the output of the following C++ program?
C++
#include <iostream>
using namespace std;

void updateValues(int a, int& b, int& c) {
    a = a + 10;
    b = b + 20;
    c = c + 30;
}

int main() {
    int x = 1, y = 2, z = 3;
    updateValues(x, y, z);
    cout << x << " " << y << " " << z << endl;
    return 0;
}
A1 22 33
B11 22 33
C11 2 3
D1 2 3
Attempts:
2 left
💡 Hint
Remember that only variables passed by reference can be changed outside the function.
Predict Output
intermediate
2:00remaining
Output of function returning multiple values via pointers
What will be printed by this C++ program?
C++
#include <iostream>
using namespace std;

void compute(int a, int b, int* sum, int* product) {
    *sum = a + b;
    *product = a * b;
}

int main() {
    int x = 4, y = 5, s = 0, p = 0;
    compute(x, y, &s, &p);
    cout << s << " " << p << endl;
    return 0;
}
A45 9
B9 9
C9 20
D20 9
Attempts:
2 left
💡 Hint
Pointers allow the function to modify variables outside its scope.
🔧 Debug
advanced
2:00remaining
Identify the error in multiple output function using references
This code is intended to swap two integers using references. What is the output of this C++ program?
C++
#include <iostream>
using namespace std;

void swap(int a, int b) {
    int temp = a;
    a = b;
    b = temp;
}

int main() {
    int x = 10, y = 20;
    swap(x, y);
    cout << x << " " << y << endl;
    return 0;
}
ACompilation error: missing & in function parameters
BOutput: 10 20
COutput: 20 10
DRuntime error: segmentation fault
Attempts:
2 left
💡 Hint
Check how the function parameters are passed and if changes affect the original variables.
Predict Output
advanced
2:00remaining
Output of function returning multiple values using std::tuple
What is the output of this C++ program that returns multiple values using std::tuple?
C++
#include <iostream>
#include <tuple>
using namespace std;

tuple<int, int> minMax(int a, int b) {
    if (a < b) return {a, b};
    else return {b, a};
}

int main() {
    int x = 7, y = 3;
    auto [minVal, maxVal] = minMax(x, y);
    cout << minVal << " " << maxVal << endl;
    return 0;
}
A3 7
B7 3
C0 0
DCompilation error: structured bindings not supported
Attempts:
2 left
💡 Hint
Structured bindings unpack the tuple into variables.
🧠 Conceptual
expert
2:00remaining
Understanding multiple output methods in C++ functions
Which of the following statements about returning multiple outputs from a C++ function is NOT true?
AFunctions can only return one value directly, so multiple outputs need workarounds.
BReturning a std::tuple can return multiple values but requires unpacking by the caller.
CUsing references as function parameters allows modifying variables outside the function.
DUsing pointers as parameters is unsafe and always causes runtime errors.
Attempts:
2 left
💡 Hint
Think about pointer usage and safety in C++.