ok grazie ecco il codice

codice:
 
#include <stdio.h>
#include <stdlib.h>
#define numcar 25
#define massimo 30



/*
 * 
 */
int main(){

   struct cantante {
    char lastname[numcar];
    char firstname[numcar];
    double dischi;
} cantanti[massimo];

    int I;
    int i;
    int j = 0;
    char cognome;
    char nome;
    double disco ;

    for (I = 0; I <= massimo; I++){
        printf ("Inserire cantante %d :", I );
        printf ("Cognome : ");
        scanf ("%25s", cantanti[I].lastname);
        printf ("Nome : ");
        scanf ("%25s", cantanti[I].firstname);
        printf ("Totale dischi : ");
        scanf ("%f", cantanti[I].dischi);
        }


    for (i = 0; i < massimo - 1; i++){
        for (j = i + 1; j < massimo; j++){
         if (cantanti[i].dischi > cantanti[j].dischi){
             cognome = cantanti[j].lastname;
             cantanti[j].lastname = &cantanti[i].lastname;
             cantanti[i].lastname = cognome;
             nome = cantanti[j].firstname;
             cantanti[j].firstname = cantanti[i].firstname;
             cantanti[i].firstname = nome;
             disco = cantanti[j].dischi;
             cantanti[j].dischi = cantanti[i].dischi;
             cantanti[i].dischi = disco;
         }

        }
    }
   
    printf ("Stampa ordinata\n");
    printf ("COGNOME\tNOME\tDISCHI\t\n");
     for (I = 0; I <= massimo; I++){
         printf ("%s%s%f", cantanti[I].lastname, cantanti[I].firstname, cantanti[I].dischi);
     }
    return 0;
}