Мне нужно поместить аргументы в массив и получить максимальное / минимальное и среднее число, используя методы.Это не возвращает ожидаемые результаты.Я в своем уме с этим.Если бы кто-нибудь мог сообщить мне, что я делаю неправильно, я был бы очень благодарен.Вот беспорядок, который я сделал в своем разочаровании.
#include<stdio.h>
#include <stdlib.h>
void getGrade(int argc, char *argv[]);
int findMaximum(int grade[]);
int findMinimum(int grade[]);
float calculateAverage(int grade[]);
void printResults(int maximum, int minimum, float average);
int argc;
int grade[50];
int main(int argc, char *argv[])
{
getGrade(argc,argv);
int max = findMaximum(grade);
int min = findMinimum(grade);
float avg = calculateAverage(grade);
printResults(max,min,avg);
return 0;
}
void getGrade(int argc, char *argv[]){
for(int i=1;i<=argc-1;i++)
grade[i-1]=atoi(argv[i]);
}
int findMaximum(int grade[]){
int max;
int size = argc-1;
for(int i=0;i<size;i++){
if(grade[i]>grade[0]){
max = grade[i];}
else{
max = grade[0];}
}
return max;
}
int findMinimum(int grade[]){
int min;
int size= argc-1;
for(int i=0; i<size;i++){
if(grade[i]<grade[0])
min=grade[i];
}
return min;
}
float calculateAverage(int grade[]){
float avg=0.0;
for(int i=0; i<=argc; i++)
avg= grade[i]+avg;
return avg/(argc-1);
}
void printResults(int maximum, int minimum, float average){
printf("Maximum Grade: %d\nMinimum Grade: %d\nAverage Grade: %.2f\n",maximum,minimum, average);
}
Я новичок в C, поэтому, пожалуйста, будьте добры и извините за беспорядок, которым он стал.