#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"); }
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
Supongo que te gusta
Origin blog.csdn.net/progess_every_day/article/details/104877238
Recomendado
Clasificación