Voila, essaye ça...
(tout dans le même fichier, ensuite tu verra pour améliorer, notamment en sécurisant les entrées)
#include <stdio.h>
#include <stdlib.h>
//structure joueur
typedef struct joueur {
char nom[20];
char prenom[10];
long classement;
} joueur;
int main()
{
joueur **joueur, *temp; //variable qui permet de ranger le tableau par classement
int i,j,rang,x;//variable du nbr de personnes inscrites au tournoi
//Explications règles
printf("\nCe petit logiciel vous permet, en rentrant simplement les joueurs et leurs classements,de créer un tournoi de tennis. \n");
printf("\n\nIl vous suffira juste de mettre les classements avec un point: 30.5 et pour les non classé de mettre 50\n\n\n");
//Nombres de personnes présentes au tournoi
printf("Combien aller vous rentrer de personnes?\n");
scanf("%i",&x);
printf("\nIl y a donc %i inscrit(s)\n",x);
joueur = malloc(x*sizeof(void*));
for(i = 0; i < x; i++)
joueur[i] = malloc(sizeof(struct joueur));
//Boucle de saisi
for(i=0;i<x;i++)
{
//Saisi des joueurs dans le tableau
printf("Veuillez saisir le nom du joueur.\n");
scanf("%s",&joueur[i]->nom);
printf("Veuillez saisir le prenom du joueur.\n");
scanf("%s",&joueur[i]->prenom);
printf("Veuillez saisir le classement du joueur.\n");
scanf("%f",&joueur[i]->classement);
//Vérifications du joueur saisi
printf ("\nLe nom est %s\n",joueur[i]->nom);
printf ("Le prenom est %s\n",joueur[i]->prenom);
printf ("Le classemnet est %f\n\n",joueur[i]->classement);
i++;
}
//Tri de mon tableau
for(i=0; i<x; i++)
{
temp = joueur[i];
rang = i;
for(j=i+1; j<x; j++)
{
if(temp->classement > joueur[j]->classement){temp = joueur[j];rang = j;}
} //on a trouvé le plus petit nombre à stocker
joueur[rang] = joueur[i];
joueur[i] = temp;
//le tableau est classé jusqu'à i, on continue le classement pour la suite du tableau
}
return 0;
}