Я новичок в C. Мне поручили запустить программу, которая вычисляет процент студентов, сдавших экзамен, на основе вводимых оценок N. Я не совсем понимаю, как работают функции. Это то, что я придумал
#include <stdio.h>
#define MAX_N 300
main()
{
int N,grade,i;
float success(N)
{
float sum=0.0;
for (i=0;i<N;i++) {
if (grade>=5) {
sum+=1;
}
float success=sum/N;
return(success);
}
}
printf("How many students? ");
scanf("%d",&N);
printf("Enter grades(0-10) of %d students ",N);
for (i=0;i<N;i++){
scanf("%d",&grade);
}
printf("%f percent of students have passed the exam ",success(N);
return(0);
}
Похоже, это должно работать, но я всегда получаю неправильный результат. Он застревает на отображении 0,2 или 0,25 для любого ввода, который я даю. Может кто-нибудь помочь?