Files
Lab1/Q4.c
2024-09-23 15:23:47 -05:00

64 lines
1.6 KiB
C

#include <stdio.h>
//Question 4
// Finds average value of array
double find_average(const int arr[], int len) {
double sum = 0.0;
for(int i = 0; i < len; i++) {
sum += arr[i];
}
return sum/len;
}
// Returns the INDEX of the highest value in array
int find_index_highest(const double arr[], int len) {
double highest = arr[0];
int index_highest = 0;
for(int i = 0; i < len; i++) {
if(arr[i] > highest) {
highest = arr[i];
index_highest = i;
}
}
return index_highest;
}
int main() {
// To test the functions
int num_students, num_subjects;
printf("Enter number of students: ");
scanf("%d", &num_students);
printf("Enter number of subjects: ");
scanf("%d", &num_subjects);
// Create matrix of grades and use input to assign its values
int grade_matrix[num_students][num_subjects];
for(int i = 0; i < num_students; i++) {
printf("Enter student %d's grades: ", i+1);
for(int j = 0; j < num_subjects; j++) {
scanf("%d", &grade_matrix[i][j]);
}
printf("\n");
}
// Array to hold average grades of students
double average_grades[num_students];
// Print every students average grades
printf("Average Grades:\n");
for(int i = 0; i < num_students; i++) {
average_grades[i] = find_average(grade_matrix[i], num_subjects);
printf("Student %d: %0.02f\n", i+1, average_grades[i]); // Formatted to two decimal places
}
printf("Student with Highest Average: Student %d\n", (find_index_highest(average_grades, num_students) +1));
printf("Students with average >= 75:\n");
for(int i = 0; i < num_students; i++) {
if(average_grades[i] >= 75.0)
printf("Student %d\n", i+1);
}
return 0;
}