Problemas de programación en lenguaje C
# incluir ltstdio.h gt
# incluir ltstdlib.h gt
# incluir lttime.h gt
#¿Definición? estuNum? 15//Número de estudiantes
#¿Definición? número sc? 7//Número de módulos
typedef? estructura? Stu//Definir la estructura de datos de los estudiantes
{
int? Sid; //ID del estudiante
int? sc[scNum]; //corresponde a 7 puntuaciones de módulo
int? Total; //Puntuación total
}Stu;
¿Anulado? insertSTU(STU?* stu); //Ingrese la información de 15 estudiantes.
¿Anulado? insertTest(STU? * stu); // Prueba, usa números aleatorios en lugar de ingresar. Soy demasiado vago para ingresar tantas puntuaciones. Tienes que ingresarlas manualmente y llamar a insertSTU en lugar de esta función.
¿Anulado? printfSTU(Stu? * stu); //Imprime las puntuaciones de 15 estudiantes en 7 módulos y las tres puntuaciones más altas de cada módulo en el orden de entrada.
int? Main()
{
¿Estu? stu[stuNum]; //Definir 15 estudiantes
//?int? I, j, sc;
srand(time(NULL));
Insert test (stu); //Quiero ingresar manualmente y cambiarlo a insertSTU(stu)
printfSTU(stu);
¿Regresar? 0;
}
¿No válido? printfSTU(Stu?*stu)// ¿Imprimir las puntuaciones de 15 estudiantes en 7 módulos y la información de los tres primeros de cada módulo en el orden de entrada? Entonces qué. Información sobre las tres primeras puntuaciones generales
{
int? I, j, k, sc;
Stu? *max[3], *sum[3], newstu//max corresponde a los punteros de estructura de los 3 mejores estudiantes en los 7 módulos? La suma corresponde a los indicadores de estructura de los tres mejores estudiantes con puntuaciones totales.
for(I = 0; IltstuNumi)
{
Printf("La puntuación y puntuación total del alumno numerado 02d del módulo 7 es", stu [i]. sid respectivamente);
for(j = 0; j ltscNumj)
{
sc=stu[i]. sc[j];
printf("02d?",sc);
}
printf("d\n ",stu[i]. suma);
}
for(j = 0; j ltscNumj )
{
for(k = 0; k ltscNumk )
{
noticias tu sc[k]= 0;
noticias tu . p>
max[0]= max[1]= max[2]= amp; noticiastu
for(I = 0;iltstuNumi)
{
si(Stu[i].
sc[j] gt; max[0]- gt; sc[j])
max[0]= amp (stu[I]);
¿Qué más? if(Stu[I].sc[j] gt;max[1]- gt;sc[j])
max[1]= amp;(stu[I]);
¿Y si? if(Stu[I].sc[j] gt;max[2]- gt;sc[j])
max[2]= amp (stu[I]);
}
printf("Los tres módulos principales en 02d son: No. 02d puntuación: 02d No.: 02d puntuación: 02d No.: 02d puntuación?\n ", j 1, max[ 0]-gt; máx[0]-gt; sc[j], máx[1]-gt; máx[1]-gt; [2]- gt;sc[j]);
}
suma[0]= suma[1]= suma[2]= amp; p>for(I = 0; i ltstuNumi)
{
if (Stu[i]. suma gtsum[0]- gt; suma)
suma[0]= amp;(stu[I]);
¿Y si? if (stu[I].sum gtsum[1]- gt; sum)
sum[1]= amp (stu[I]);
¿Y si? if (stu[I].sum gtsum[2]- gt; suma)
suma[2]= amp (stu[I]);
}
Printf("Las tres puntuaciones totales principales son: número de serie: 02d, puntuación total: 02d, puntuación total: 02d, número de serie: 02d, puntuación total: 02d?\n ", suma[0]- gt; sid , suma[0]-gt; suma, suma[1]-gt; suma[1]-gt; suma[2]-gt; >
}
¿Anulado? insertSTU(STU?*stu)//Ingrese la información de 15 estudiantes.
{
int? I,j,sc;
for(I = 0;i ltstuNumi)
{
Stu[i]. sid = I 1;
Stu[I]. sum = 0;
Printf("Ingrese las puntuaciones de los 7 módulos del estudiante número d: ", I
for(j = 0; j ltscNumj )
; p>{
//scanf("d ", ampsc); //Soy demasiado vago para ingresar tantas partituras, así que usaré números aleatorios en su lugar. Tienes que escribirlo para restaurar la oración.
sc =(int)(rand() 100); //Reemplace la entrada con un número aleatorio de 2 dígitos, comente si no es necesario.
Stu[yo]. sc[j]=sc;
Stu[i]. suma=stu[i]. suma sc;
}
}
}
¿No es válido? insertTest(STU?*stu)//Utilizar en lugar de entrada para probar.
{
int? I,j,sc;
for(I = 0;i ltstuNumi)
{
Stu[i].
sid = I 1;
Stu[i]. suma = 0;
for(j = 0; j ltscNumj )
{
sc =(int)(rand() 100);
Stu[i]. sc[j]=sc;
Stu[i]. suma=stu[i]. suma sc;
}
}
}