📖 Scenario: You are organizing a small event where you want to print a seating chart. The chart shows rows and seats in each row.
🎯 Goal: Build a program that uses nested loops to print seat numbers for each row.
📋 What You'll Learn
Create two variables for rows and seats per row
Use nested for loops to print seat numbers
Print the seat numbers in the format: Row X Seat Y
💡 Why This Matters
🌍 Real World
Nested loops are useful when dealing with tables, grids, or any situation where you have rows and columns, like seating charts, calendars, or pixel grids.
💼 Career
Understanding nested loops is essential for programming tasks in software development, data processing, and game development where multi-dimensional data is common.
Progress0 / 4 steps
1
Create variables for rows and seats
Create two integer variables called rows and seats_per_row. Set rows to 3 and seats_per_row to 4.
C
Hint
Use int to declare variables and assign the exact values.
2
Set up the outer loop for rows
Add a for loop with variable row that runs from 1 to rows inclusive.
C
Hint
Use a for loop starting at 1 and ending at rows.
3
Add inner loop for seats and print seat numbers
Inside the for loop for row, add another for loop with variable seat that runs from 1 to seats_per_row inclusive. Inside the inner loop, print the seat number in the format Row X Seat Y\n using printf.
C
Hint
Use nested loops and printf to print each seat in each row.
4
Print the seating chart
Run the program to print all seat numbers for each row. Use printf as in the previous step to display the output.
C
Hint
Make sure your program prints all rows and seats exactly as shown.
Practice
(1/5)
1. What does a nested loop in C do? for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { // code } }
easy
A. Runs one loop inside another, repeating inner loop fully each outer loop
B. Runs two loops side by side without interaction
C. Runs only the outer loop multiple times
D. Runs only the inner loop once
Solution
Step 1: Understand nested loops structure
The outer loop runs 3 times, and for each iteration, the inner loop runs fully 2 times.
Step 2: Explain the repetition
Each time the outer loop runs once, the inner loop runs completely, repeating the inner code multiple times.
Final Answer:
Runs one loop inside another, repeating inner loop fully each outer loop -> Option A
Quick Check:
Nested loops repeat inner loop per outer loop [OK]
Hint: Inner loop runs fully for each outer loop iteration [OK]
Common Mistakes:
Thinking loops run side by side without nesting
Assuming inner loop runs only once
Confusing outer and inner loop roles
2. Which of the following is the correct syntax for a nested for loop in C?
easy
A. for int i = 0; i < 3; i++ { for int j = 0; j < 2; j++ { /* code */ } }
B. for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) /* code */ }
C. for (int i = 0; i < 3; i++) for (int j = 0; j < 2; j++) { /* code */ }
D. for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { /* code */ }
Solution
Step 1: Check syntax correctness
for (int i = 0; i < 3; i++) for (int j = 0; j < 2; j++) { /* code */ } uses correct C syntax with parentheses and braces properly placed.
Step 2: Identify syntax errors in other options
for int i = 0; i < 3; i++ { for int j = 0; j < 2; j++ { /* code */ } } misses parentheses and braces; for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) /* code */ } misses braces for inner loop; for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { /* code */ } misses closing brace for outer loop.
Final Answer:
for (int i = 0; i < 3; i++) for (int j = 0; j < 2; j++) { /* code */ } -> Option C
Quick Check:
Correct for loop syntax uses parentheses and braces [OK]
Hint: Remember for loops need parentheses and braces [OK]
Common Mistakes:
Omitting parentheses around loop conditions
Missing braces for loop bodies
Incorrect variable declaration syntax
3. What is the output of this C code?
for (int i = 1; i <= 2; i++) { for (int j = 1; j <= 3; j++) { printf("%d%d ", i, j); } }
medium
A. 12 13 21 23
B. 11 12 13 21 22 23
C. 123 123
D. 11 21 12 22 13 23
Solution
Step 1: Trace outer loop iterations
Outer loop runs i=1 and i=2.
Step 2: Trace inner loop for each outer iteration
For i=1, inner loop prints 11 12 13; for i=2, inner loop prints 21 22 23.
Final Answer:
11 12 13 21 22 23 -> Option B
Quick Check:
Nested loops print pairs in order [OK]
Hint: Outer loop controls first digit, inner loop second digit [OK]
Common Mistakes:
Mixing order of printed pairs
Printing numbers without spaces
Confusing loop limits
4. Find the error in this nested loop code:
for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) printf("%d%d\n", i, j); } }
medium
A. Extra closing brace '}' after inner loop
B. Missing semicolon after printf
C. Inner loop missing braces causing syntax error
D. Outer loop condition is incorrect
Solution
Step 1: Check braces matching
There is an extra closing brace after the inner loop which causes a syntax error.
Step 2: Verify other syntax parts
Printf has semicolon; inner loop without braces is allowed for single statement; outer loop condition is correct.
Final Answer:
Extra closing brace '}' after inner loop -> Option A
Quick Check:
Braces must match exactly [OK]
Hint: Count opening and closing braces carefully [OK]
Common Mistakes:
Adding extra braces accidentally
Assuming missing braces always cause error
Ignoring semicolon after statements
5. How many times will the innermost statement run in this nested loop?
for (int i = 1; i <= 4; i++) { for (int j = i; j <= 4; j++) { for (int k = 1; k <= j; k++) { printf("*"); } } }
hard
A. 70
B. 50
C. 40
D. 30
Solution
Step 1: Analyze loop ranges
i runs 1 to 4; for each i, j runs from i to 4; for each j, k runs 1 to j.
Step 2: Calculate total iterations
Calculate sum over i=1 to 4 of sum over j=i to 4 of j: i=1: j=1..4 sum=1+2+3+4=10 i=2: j=2..4 sum=2+3+4=9 i=3: j=3..4 sum=3+4=7 i=4: j=4..4 sum=4 Total = 10+9+7+4=30
Final Answer:
30 -> Option D
Quick Check:
Total iterations = 10+9+7+4=30 [OK]
Hint: Sum inner loop counts carefully per outer loops [OK]
Common Mistakes:
Adding loop counts incorrectly
Ignoring changing start of inner loops
Confusing loop variables
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.