📖 Scenario: You are managing a list of daily temperatures recorded in a small weather station. Each day, a new temperature reading is added to the end of the list.
🎯 Goal: Build a simple C program that stores temperature readings in an array and inserts a new temperature at the end of the array.
📋 What You'll Learn
Create an integer array called temperatures with the exact values: 23, 25, 22, 20, 24
Create an integer variable called size and set it to 5
Insert a new temperature 26 at the end of the temperatures array
Print the updated temperatures array elements separated by spaces
💡 Why This Matters
🌍 Real World
Adding new data points to a list is common in many applications like weather tracking, sales records, or sensor data collection.
💼 Career
Understanding how to manage arrays and insert elements is a fundamental skill for programming jobs involving data handling and embedded systems.
Progress0 / 4 steps
1
Create the initial array
Create an integer array called temperatures with the exact values 23, 25, 22, 20, 24.
DSA C
Hint
Use int temperatures[10] to create an array with space for 10 integers and initialize the first 5 values.
2
Create the size variable
Create an integer variable called size and set it to 5 to represent the current number of temperatures.
DSA C
Hint
Use int size = 5; to keep track of how many temperatures are stored.
3
Insert new temperature at the end
Insert the new temperature 26 at the end of the temperatures array using the size variable, then increase size by 1.
DSA C
Hint
Use temperatures[size] = 26; to add the new temperature, then size++; to update the count.
4
Print the updated array
Use a for loop with variable i from 0 to size - 1 to print each element of temperatures separated by spaces.
DSA C
Hint
Use printf("%d ", temperatures[i]); inside the loop to print each temperature followed by a space.
Practice
(1/5)
1. What happens when you insert an element at the end of an array in C if the array has enough space?
easy
A. The element is added at the last position and the array size increases by one.
B. The element replaces the first element of the array.
C. The array size remains the same and the element is ignored.
D. The array is sorted automatically after insertion.
Solution
Step 1: Understand array insertion at end
When an element is inserted at the end, it is placed at the next free index if space is available.
Step 2: Effect on array size
The logical size of the array increases by one because a new element is added.
Final Answer:
The element is added at the last position and the array size increases by one. -> Option A
Quick Check:
Insert at end adds element and increases size [OK]
Hint: Insert at end adds element at next free index [OK]
Common Mistakes:
Thinking array size changes physically (fixed size in C)
Assuming insertion replaces existing elements
Believing array sorts automatically after insertion
2. Which of the following is the correct syntax to insert an element 'x' at the end of an array 'arr' with current size 'n' in C?
easy
A. arr[n+1] = x; n++;
B. arr[n] = x; n++;
C. arr[n-1] = x; n++;
D. arr[x] = n; n++;
Solution
Step 1: Identify correct index for insertion
The next free position is at index 'n' since array indexing starts at 0 and current size is 'n'.
Step 2: Update size after insertion
After inserting, increment 'n' to reflect the new size.
Final Answer:
arr[n] = x; n++; -> Option B
Quick Check:
Insert at arr[n], then increment n [OK]
Hint: Insert at arr[n], then increase size n [OK]
Common Mistakes:
Using arr[n+1] causes out-of-bounds error
Using arr[n-1] overwrites last element
Confusing element and index positions
3. What will be the output of the following C code?
int arr[5] = {1, 2, 3};
int n = 3;
arr[n] = 4;
n++;
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
medium
A. 1 2 3 4
B. 1 2 3
C. 1 2 3 0
D. Compilation error
Solution
Step 1: Insert element at arr[3]
arr[3] is assigned 4, so array becomes {1, 2, 3, 4, ?}.
Step 2: Increment size and print elements
n becomes 4, loop prints arr[0] to arr[3]: 1 2 3 4.
Final Answer:
1 2 3 4 -> Option A
Quick Check:
Inserted 4 at end, printed all elements [OK]
Hint: Insert at arr[n], increment n, print up to n [OK]
Common Mistakes:
Ignoring increment of n, printing only first 3 elements
Assuming uninitialized arr[3] is zero
Confusing array size and capacity
4. Find the error in the following code snippet that inserts an element at the end of an array:
int arr[5] = {10, 20, 30};
int n = 3;
arr[n+1] = 40;
n++;
medium
A. Array initialization is incorrect.
B. The size 'n' is not incremented correctly.
C. No error, code works fine.
D. The element is inserted at wrong index (arr[n+1] instead of arr[n]).
Solution
Step 1: Check insertion index
Inserting at arr[n+1] means arr[4], skipping arr[3], which is incorrect for sequential insertion.
Step 2: Consequence of wrong index
This causes a gap in the array; correct index is arr[n].
Final Answer:
The element is inserted at wrong index (arr[n+1] instead of arr[n]). -> Option D
Quick Check:
Insert at arr[n], not arr[n+1] [OK]
Hint: Insert at arr[n], not arr[n+1] to avoid errors [OK]
Common Mistakes:
Using arr[n+1] instead of arr[n]
Not updating size after insertion
Ignoring array bounds
5. Given an array int arr[6] = {5, 10, 15, 20}; with current size n = 4, which code snippet correctly inserts the element 25 at the end and prints the updated array?
medium
A. arr[n-1] = 25; n++; for(int i=0; i
B. arr[n+1] = 25; n++; for(int i=0; i
C. arr[n] = 25; n++; for(int i=0; i
D. arr[5] = 25; n = 5; for(int i=0; i
Solution
Step 1: Identify correct insertion index
Current size n=4 (indices 0-3 used), so end insertion at arr[4] (arr[n]), then n=5.