#include
#include
#include
#include
int main()
{
int nclasses = 0;
int nstudents_max = 0;
char answer = 'N';
printf("How many students are in the largest class? :");
scanf_s("%d", &nstudents_max);
printf("How many classes are there? :");
scanf_s("%d", &nclasses);
int **grades = (int**)malloc(nclasses * sizeof(int*)); //Stores the grades
int *students = (int*)malloc(nstudents_max * sizeof(int)); //Stores the number of students in each class
for (int nclass = 0; nclass < nclasses; ++nclass)
{
printf("Enter the grades for students in class %d.\n", nclass + 1);
students[nclass] = 0; //Student count within a class
while (true)
{
printf("Enter the integer grade for student %d: ", students[nclass] + 1);
scanf_s("%d", &grades[nclass][students[nclass]]);
if (++students[nclass] == nstudents_max) //Increment and check student count
{
printf("Class %d complete", nclass + 1);
break;
}
printf("Any more students in class %d (Y or N): ", nclass + 1);
scanf_s(" %c", &answer, 2);
if (toupper(answer) == 'N')
break;
}
}
printf("\n");
for (int nclass = 0; nclass < nclasses; ++nclass)
{
int class_tatal = 0;
printf("Student grades for class %d are:\n", nclass + 1);
for (int student = 0; student < students[nclass]; ++student)
{
class_tatal += grades[nclass][student];
if ((student + 1) % 6 == 0)
printf("\n");
printf("%5d", grades[nclass][student]);
}
printf("\nAverge grade for class %d is %.2lf\n", nclass + 1, (double)class_tatal / students[nclass]);
}
return 0;
}