Hola Pandemia
Tienes varios errores:
Al usar while (i<=35) significa que la variable i es la variable de control del bucle. Es decir, que esta variable sirve para contar: 1, 2, 3, 4, 5, ... En cada pasada del bucle se incrementa en una unidad: i = i + 1;
if (i >= 5) {
aprobados = aprobados +1;
}
Aquí estás confundiendo la variable para contar con la nota del alumno. i no es la nota del alumno, es simplemente una variable que se usa para contar.
Fíjate en la solución propuesta. i es la variable para contar mientras que nota(i) es la nota del alumno. Esto significa que nota(1) sería la nota del primer alumno, nota(2) la nota del segundo alumno y así sucesivamente. Si lo haces en C, los índices de arrays en C empiezan por cero, por lo que la nota del primer alumno será nota(0), la segunda nota(1) y así. Tienes que tener cuidado con los índices de arrays en C: siempre empiezan en cero.
Tienes otro error aquí: scanf("nota: %d", nota);
Eso lo pides dentro del bucle, y ¿dónde usas esa variable después? No la usas. Si no la usas ¿por qué? ¿cómo vas a hacer cálculos si no usas la nota?
Para entender este ejercicio te propongo que vayas poco a poco.
Haz lo siguiente: crea un programa donde declares un array de 10 elementos de tipo numérico entero. Luego mediante un bucle, pide al usuario que introduzca los diez valores numéricos. Luego, mediante un bucle, muestra los diez valores numéricos por pantalla.
Una vez hagas eso pégalo aquí y te indicaré el siguiente paso.
Saludos