C++ Program to Find Average of Numbers
average = sum / count;.Examples
How to Think About It
Algorithm
Code
#include <iostream> using namespace std; int main() { int n; cout << "Enter number of values: "; cin >> n; double sum = 0, num; for (int i = 0; i < n; i++) { cout << "Enter number " << i + 1 << ": "; cin >> num; sum += num; } double average = sum / n; cout << "Average is " << average << endl; return 0; }
Dry Run
Let's trace the example with input numbers 10, 20, 30 through the code.
Input number count
User inputs n = 3
Initialize sum
sum = 0
First iteration
Input num = 10; sum = 0 + 10 = 10
Second iteration
Input num = 20; sum = 10 + 20 = 30
Third iteration
Input num = 30; sum = 30 + 30 = 60
Calculate average
average = sum / n = 60 / 3 = 20
Output result
Print "Average is 20"
| Iteration | Input Number | Sum So Far |
|---|---|---|
| 1 | 10 | 10 |
| 2 | 20 | 30 |
| 3 | 30 | 60 |
Why This Works
Step 1: Summing numbers
We add each input number to a running total stored in sum to get the combined value.
Step 2: Counting inputs
We keep track of how many numbers we have with n to know how many to divide by.
Step 3: Calculating average
Dividing the total sum by the count gives the average value of the numbers.
Alternative Approaches
#include <iostream> using namespace std; int main() { int n; cout << "Enter number of values: "; cin >> n; double* numbers = new double[n]; double sum = 0; for (int i = 0; i < n; i++) { cout << "Enter number " << i + 1 << ": "; cin >> numbers[i]; sum += numbers[i]; } double average = sum / n; cout << "Average is " << average << endl; delete[] numbers; return 0; }
#include <iostream> using namespace std; int main() { int n, count = 0; double sum = 0, num; cout << "Enter number of values: "; cin >> n; while (count < n) { cout << "Enter number " << count + 1 << ": "; cin >> num; sum += num; count++; } double average = sum / n; cout << "Average is " << average << endl; return 0; }
Complexity: O(n) time, O(1) space
Time Complexity
The program loops through all n numbers once to sum them, so time complexity is O(n).
Space Complexity
Only a few variables are used regardless of input size, so space complexity is O(1).
Which Approach is Fastest?
All approaches have similar time complexity; using arrays uses more space but allows reuse of numbers.
| Approach | Time | Space | Best For |
|---|---|---|---|
| Simple loop with sum | O(n) | O(1) | Quick average calculation without storing numbers |
| Array storage | O(n) | O(n) | When you need to access numbers later |
| While loop | O(n) | O(1) | Alternative loop style, same performance |