#include #include #include struct maillon { unsigned short valeur; struct maillon* suiv; }; typedef struct maillon maillon; maillon* ajouteDebut(maillon *chaine, unsigned short entier){ maillon *nouveauMaillon=malloc(sizeof(maillon)); nouveauMaillon->valeur=entier; nouveauMaillon->suiv=chaine; return nouveauMaillon; free(nouveauMaillon); } void afficheListe(maillon *chaine){ maillon *affichage=malloc(sizeof(maillon)); affichage=chaine; while(affichage->suiv!=NULL){ printf("%hu ",affichage->valeur); affichage=affichage->suiv; } free(affichage); } int maximum(maillon *chaine){ maillon *chercheMax=malloc(sizeof(maillon)); int max=0; chercheMax=chaine; while(chercheMax->suiv!=NULL){ if (maxvaleur){ max=chercheMax->valeur; } chercheMax=chercheMax->suiv; } free(chercheMax); return max; } int main() { int i; int maxi; maillon *liste=malloc(sizeof(maillon)); srand(time(NULL)); putchar('\n'); liste->valeur=(rand()%889)+111; liste->suiv=NULL; for(i=0;i<10;i++){ unsigned short v=(rand()%889)+111; liste=ajouteDebut(liste, v); } printf("Les valeurs de la liste sont :\n"); afficheListe(liste); putchar('\n'); maxi=maximum(liste); printf("\nLa valeur maximum de la liste est : %hu\n\n",maxi); return 0; }