Object
Write a program to calculate average marks of a student using while and nested while loop.
Algorithm
- Declare integer variables n and count and float variables marks, average and sum.
- Set count = 1 and sum = 0.
- Read n. [number of subjects.]
- Repeat WHILE count ≤ n
- Read marks of n subjects.
- Repeat WHILE marks are < 0 or > 100
- Write Invalid marks, try again.
- Read marks.
- [End of inner WHILE loop.]
- sum = sum + marks.
- count = count + 1.
- [End of outer WHILE loop.]
- average = sum/n.
- Write average.
- Exit.
Flowchart

C++ Source Code
// program 60
#include<iostream>
using namespace std;
int main()
{
int n, count = 1;
float marks, average, sum = 0;
// Read in a value for n
cout << "How many Subjects? ";
cin >> n;
cout << endl;
// Read marks
while (count <= n)
{
cout << "Marks in Subject " << count << " = ";
cin >> marks;
while (marks < 0 || marks > 100)
{
cout << "Invalid marks, try again: ";
cin >> marks;
}
sum += marks;
++count;
}
// Calculate the average and print the answer
average = sum / n;
cout << "\nThe average marks are = " << average << endl;
return 0;
}
C Source Code
/*program 60*/
#include<stdio.h>
int main()
{
int n, count = 1;
float marks, average, sum = 0;
// initialise and read in a value for n
printf("How many Subjects? ");
scanf("%d", &n);
printf("\n");
// read marks
while(count <= n)
{
printf("Marks in Subject %d = ", count);
scanf("%f", &marks);
while(marks < 0 || marks > 100)
{
printf("Invalid marks, try again: ");
scanf("%f", &marks);
}
sum += marks;
++count;
}
// calculate the average and print the answer
average = sum/n;
printf("\nThe average marks are = %.2f", average);
return 0;
}
Output
How many Subjects? 5
Marks in Subject 1 = 69
Marks in Subject 2 = 58.8
Marks in Subject 3 = 37
Marks in Subject 4 = 83
Marks in Subject 5 = 65
The average marks are = 62.56
