Cómo completar la programación requerida en lenguaje C (intente usar matrices unidimensionales)
El tema requiere parámetros de función para usar matrices y punteros. Los parámetros de matriz se pueden pasar de dos maneras.
El código es el siguiente:
# include ltstdio.h gt
#Definir MJ 5//Número máximo de cursos
#Definir MT 30 //Número máximo de estudiantes
#Definición FM 100//Puntuación completa
#Definición PS 60// Aprobado.
int init(int ss[], int sid[], int * p_slen); //Iniciando la matriz. La puntuación total se devuelve correctamente; de lo contrario, se devuelve 0.
int contFStudents(int ss[], int sid[], int slen); //Cuenta el número de fracasos e imprime la lista y devuelve el número de personas.
int contAAvg(int ss[], int sid[], int slen, float avg); //avg representa la puntuación promedio, como el número de personas devueltas por transmisión desconocida -1.
int contMax(int ss[], int slen, int * sid //Estadísticas sobre la puntuación más alta y el número de estudiantes
int main()
{
int ss[MT], sid[MT], sum
int slen = 0 //El número real de estudiantes matriculados
int fn, an;
sum=init(ss, sid, ampslen);
fn=contFStudents(ss, sid, slen); contAAvg(ss, sid, slen, (suma * 1.0)/slen);
Printf("Tasa de fallas.0f \ n ", (fn * 1.0)/SLEN * 100);
Printf( "La puntuación promedio es mayor o igual a .0f\n", (an * 1.0)/SLEN * 100);
contMax(ss, slen, sid); p>
Devuelve 0;
p>
}
int init(int ss[], int sid[], int *p_slen)
{
int i=0, n, suma = 0;
Si (!p_slen) devuelve 0;
* p_slen = 0; p>
Printf("Todos los estudiantes de esta clase son Los resultados de un determinado curso (el número de estudiantes no excede d): \ n ", mt
for (I = 0); ; I ltMT; i ) sid[I] = 1000 I; //La identificación del estudiante no está disponible. Para requisitos especiales, simplemente use números.
I = 0;
while(* p _ slen lt;=MT)
{
Printf("Por favor, introduzca el Número de grado d: ", SID [i]), scanf ("d ",; n);
if (n gtFM)
{
Printf ("La entrada d no es válida y no puede ser mayor que la puntuación máxima de d\n ", n, FM
Continuar
}
Si; ( n lt0 ) roto;
ss[i ]= n;
suma = n
}
* p _ slen; = I;
Suma devuelta;
}
int contFStudents(int ss[], int sid[], int slen)
{
int i, CNT = 0;
for(I = 0; i ltsleni )
if(ss[I] lt; PS)cnt , printf("Estudiante número d, puntuación: d, reprobado!\n ", sid[i], ss[I]);
Printf("Número de fracasos * * *: d personas\n " , CNT);
Devolver cnt
}
int contAAvg(int ss[], int sid[], int slen, float avg) p >
{
int i, cnt=0, suma = 0;
if(avg==-1)
{
for(I = 0; i ltsleni )sum = ss[I];
promedio = (suma * 1.0)/slen
}
For(i=0, printf("Los estudiantes con puntaje promedio (f) y superior son:\n ", avg); iltsleni)
if(ss[I] gt;=avg)cnt , printf("Número de estudiante d, puntuación: d\n ", sid[i], ss[I]);
Printf("Puntuación promedio y superior * * *: d persona\n ", CNT);
Devolver cnt
}
int contMax(int ss[], int slen, int *sid)
{
int i, máx = ss[0];
if (! sid) devuelve 0;
for(I = 0;iltsleni)
if(ss[I] gt;max)max = ss[I];
For(i=0, printf("Los estudiantes con la puntuación más alta (d) son: \n ", max); Iltsleni)
if(ss[i]==max) printf(" d\n ", sid[I]);
Devolver 1;
}