Ingrese un conjunto de datos de los estudiantes, emite según las calificaciones de mayor a menor, el número de estudiantes se puede modificar

#include <stdio.h>
struct estudiante / * define estructura * /
{     int num;     char name [20];     float score; }; int main () {     void rank (struct student p [], int n);     void print (struct estudiante p [], int n);     int i;     int n = 3; / * número de estudiantes * /     struct estudiante stu [3]; / * cuando se modifica el número de estudiantes, por favor modifique aquí en consecuencia * /     para (i = 0; i <n; i ++)         scanf ("% d% s% f", & stu [i] .num, stu [i] .name, & stu [i] .score);     printf ("el rango del estudiante de grado después dispose is: \ n ");     rank (stu, n);     print (stu, n);     return 0; } void rank (struct estudiante p [], int n) / * función de procesamiento * / {




















    int i, j, k;
    struct estudiante temp;
    for (i = 0; i <n-1; i ++)
    {         k = i; / * almacena el número de serie actual del estudiante * /         for (j = i + 1; j < n; j ++)             if (p [j] .score> p [k] .score) / * Compare los datos almacenados del estudiante con los siguientes datos del estudiante a la vez * /                 k = j; / * El número de serie del estudiante con el puntaje más alto * /         temp = p [i];         p [i] = p [k];         p [k] = temp; / * Intercambio con el primer * /     } } vacío print (struct estudiante p [], int n) / * salida Función * / {     int i;     for (i = 0; i <n; i ++)         printf ("% 6d% 8s,% 6.2f \ n", p [i] .num, p [i] .name, p [ i] .puntuación);     printf ("\ n"); }















Supongo que te gusta

Origin blog.csdn.net/progess_every_day/article/details/104877238
Recomendado
Clasificación