Question 4 done
This commit is contained in:
87
Q4.c
87
Q4.c
@@ -1,56 +1,63 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
//Question 4
|
//Question 4
|
||||||
|
|
||||||
|
// Finds average value of array
|
||||||
double find_average(const int arr[], int len) {
|
double find_average(const int arr[], int len) {
|
||||||
double sum = 0.0;
|
double sum = 0.0;
|
||||||
for(int i = 0; i < len; i++) {
|
for(int i = 0; i < len; i++) {
|
||||||
sum += arr[i];
|
sum += arr[i];
|
||||||
}
|
}
|
||||||
return sum/len;
|
return sum/len;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the INDEX of the highest value in array
|
// Returns the INDEX of the highest value in array
|
||||||
int find_index_highest(const double arr[], int len) {
|
int find_index_highest(const double arr[], int len) {
|
||||||
double highest = arr[0];
|
double highest = arr[0];
|
||||||
int index_highest = 0;
|
int index_highest = 0;
|
||||||
|
|
||||||
for(int i = 0; i < len; i++) {
|
for(int i = 0; i < len; i++) {
|
||||||
if(arr[i] > highest) {
|
if(arr[i] > highest) {
|
||||||
highest = arr[i];
|
highest = arr[i];
|
||||||
index_highest = i;
|
index_highest = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return index_highest;
|
return index_highest;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int num_students, num_subjects;
|
// To test the functions
|
||||||
printf("Enter number of students: ");
|
int num_students, num_subjects;
|
||||||
scanf("%d", &num_students);
|
printf("Enter number of students: ");
|
||||||
printf("Enter number of subjects: ");
|
scanf("%d", &num_students);
|
||||||
scanf("%d", &num_subjects);
|
printf("Enter number of subjects: ");
|
||||||
|
scanf("%d", &num_subjects);
|
||||||
|
|
||||||
int grade_matrix[num_students][num_subjects];
|
// Create matrix of grades and use input to assign its values
|
||||||
for(int i = 0; i < num_students; i++) {
|
int grade_matrix[num_students][num_subjects];
|
||||||
printf("Enter student %d's grades: ", i+1);
|
for(int i = 0; i < num_students; i++) {
|
||||||
for(int j = 0; j < num_subjects; j++) {
|
printf("Enter student %d's grades: ", i+1);
|
||||||
scanf("%d", &grade_matrix[i][j]);
|
for(int j = 0; j < num_subjects; j++) {
|
||||||
}
|
scanf("%d", &grade_matrix[i][j]);
|
||||||
printf("\n");
|
}
|
||||||
}
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
double average_grades[num_students];
|
// Array to hold average grades of students
|
||||||
printf("Average Grades:\n");
|
double average_grades[num_students];
|
||||||
for(int i = 0; i < num_students; i++) {
|
// Print every students average grades
|
||||||
average_grades[i] = find_average(grade_matrix[i], num_subjects);
|
printf("Average Grades:\n");
|
||||||
printf("Student %d: %0.02f\n", i+1, average_grades[i]);
|
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("Student with Highest Average: Student %d\n", (find_index_highest(average_grades, num_students) +1));
|
||||||
|
|
||||||
printf("Students with average >= 75:\n");
|
printf("Students with average >= 75:\n");
|
||||||
for(int i = 0; i < num_students; i++) {
|
for(int i = 0; i < num_students; i++) {
|
||||||
if(average_grades[i] >= 75.0)
|
if(average_grades[i] >= 75.0)
|
||||||
printf("Student %d\n", i+1);
|
printf("Student %d\n", i+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user