so here is my code:
#include <stdio.h>
double CalculateFinalScore(int assignment[], int midterm[], int finalExam[], double scoreSum[], char gradeAchieved[]) 
{
    int i = 0;
    for (i = 0; i < NUM_SCORES; ++i) 
    {
        scoreSum[i] = (assignment[i] * 0.2) + (midterm[i] * 0.3) + (finalExam[i] * 0.5);
    }
}
char grade(int assignment[], int midterm[], int finalExam[], double scoreSum[], char gradeAchieved[]){
    char A = 'A';
    char B = 'B';
    char C = 'C';
    char D = 'D';
    char E = 'E';
    int j = 0;
    for (j = 0; j < NUM_SCORES; ++j){
    if ((CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) >= 85 ) {
        gradeAchieved[j] = A;
    }
    else if ((CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) >= 75) && (CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) < 85)  ){
        gradeAchieved[j] = B;
    }
    else if ((CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) >= 60) && (CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) < 75)  ){
        gradeAchieved[j] = C;
    }
    else if ((CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) >= 45) && (CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) < 60)  ){
        gradeAchieved[j] = D;
    } 
    else if ((CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) >= 0) && (CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) < 45)  ){
        gradeAchieved[j] = E;
    }
    } 
}
int main(void) 
{
    int NUM_SCORES;
    char finalGrade[NUM_SCORES];
    double testScores[NUM_SCORES]; 
    int i = 0;
    int x[NUM_SCORES];
    int y[NUM_SCORES];
    int z[NUM_SCORES];
    // Prompt user to enter test scores
    printf("Input number of students: ");
    scanf("%d", &NUM_SCORES);
    for (i = 0; i < NUM_SCORES; ++i) 
    {
        printf("Input student %d assignment score: ", (i+1));
        scanf("%d", &(x[i]));
        printf("Input student %d midterm score: ", (i+1));
        scanf("%d", &(y[i]));
        printf("Input student %d final exam score: ", (i+1));
        scanf("%d", &(z[i]));
        printf("\n");
    }
    printf("\n");
    // Call function to calculate final score
    CalculateFinalScore(x, y, z, testScores, finalGrade);
    for (i = 0; i < NUM_SCORES; ++i) 
    {
        printf("Final student %d test score: ", (i+1));
        printf("%lf\n", testScores[i]);
        printf("Final student %d test score: ", (i+1));
        printf("%lf\n", finalGrade[i]);
    }
    return 0;
}
}
So bassicly, unlike in my code where NUM_SCORES is alerady determined with 4. instead I want to input the NUM_SCORES value so I can determined its value easily, but everytime I do that, there is always an error that my NUM_SCORES is undeclared. oh and I also got these error
main.c: In function ‘CalculateFinalScore’:
main.c:9:21: error: ‘NUM_SCORES’ undeclared (first use in this function)
     for (i = 0; i < NUM_SCORES; ++i)
                     ^~~~~~~~~~
main.c:9:21: note: each undeclared identifier is reported only once for each function it appears in
main.c: In function ‘grade’:
main.c:24:21: error: ‘NUM_SCORES’ undeclared (first use in this function)
     for (j = 0; j < NUM_SCORES; ++j){
                     ^~~~~~~~~~
main.c:26:41: error: expected expression before ‘]’ token
     if ((CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) >= 85 ) {
                                         ^
main.c:26:105: error: expected ‘)’ before ‘{’ token
     if ((CalculateFinalScore(assignment[], midterm[], finalExam[], scoreSum[], gradeAchieved[]) >= 85 ) {
                                                                                                         ^
main.c:41:5: error: expected expression before ‘}’ token
     }
     ^
main.c: In function ‘main’:
main.c:81:19: warning: format ‘%lf’ expects argument of type ‘double’, but argument 2 has type ‘int’ [-Wformat=]
         printf("%lf\n", finalGrade[i]);
                   ^
Can somebody help me and fix it?
 
    