I need to make a code for calculating grade average and I have come up with

int mygrades = [98, 89, 94, 85, 76, 94, 68, 97, 87, 88, 91, 94];
int i = 0;
int average = 0;
while i ? length(mygrades) do
average = average + mygrades*;* i = i + 1; end while average = average / length(mygrades); return average I need to know what my mistake is in this code thanks

Your approach in that pseudo-code (add up the grades, then divide by the number of grades) is ok, but a few things to consider when you turn it into valid C …

To get the number of elements in the array, use:

int length = sizeof(mygrades) / sizeof(mygrades[0]);

This finds the total size of the array in bytes, then divides by the number of bytes used to hold one element, so gives the number of elements.

Instead of the while loop, you could use a for loop:

int sum = 0;
for (i = 0; i < length; i++)
{
sum = sum + mygrades[i];
}

And when you calculate the average, remember that your code will work out an integer result, so will lose the fractional part of the answer.