Ciao,
ho cambiato il codice apportando queste modifiche:
1)Ho cambiato la if con lo switch;
2)Ho modificato il for del punto 2.

Solo che riscontro 2 problemi:
1)Non so come scrivere l'algoritmo delle matrice trasposta che è quella che si ottiene invertendo le righe con le colonne;
2)Quando compilo il codice il compilatore mi dice che vi è un errore sulla riga della parentesi graffa dopo il retur 0 dicendomi che è un errore sintattico alla fine dell'input.

codice:
//Matrice quadrata
#include <stdio.h> 
#include <string.h> 
int main() 
{ 
   char scelta=0;
   int x=0, y=0, cnt=0; 
   float mat[10][10], val=0, det=0, tot=0;
   printf("Inserisci il valore che vuoi dare alla radice quadrata:\n");
   scanf("%d", &cnt);
   printf("Dati per la matrice quadrata: \n\n");
   for(x=0; x<cnt; x++)
   {
            for(y=0; y<cnt; y++)
            {
                     printf("Inserisci i dati della posizione matrice [%d][%d]", x,y);
                     scanf("%f", &val);
                     mat [x][y]=val;
            }
   }  
   printf("Scegli un' opzione:\n");
   printf(" a) La matrice trasposta:\n");
   printf(" b) La traccia della matrice degli elementi sulla diagonale principale:\n");
   printf(" c) La somma degli elementi della diagonale secondaria:\n");
   printf(" d) In caso di matrice di ordine n<=3 il determinante (regola di Sarrus):\n");
   printf("Scelta:");
   scanf("%c", &scelta);
   switch(scelta)
   {
   case 'a':
   {
   }  
   break;                
   case 'b':
   {
    printf("Traccia delgi elementi sulla diagonale principale:");
    for(x=0; x<cnt; x++)
    {
     tot=tot+mat [x][x];
    }
    printf("La traccia degli elementi e\': %f", tot);
   }
   break;
   case 'c':
   {
    printf("Somma degli elementi sulla diagonale secondaria:");
    for(x=0; x<cnt; x++)
    {
            for(y=0; y<cnt; y++)
            {
                            if(y==-x+cnt)
                            {
                            tot=tot+mat [x][y];
                            printf("%f",tot);
                            }
            }
    }
   }         
   break;
   default:
   {
    if(cnt<=3)
    {
     det = mat[0][0]*mat[1][1]*mat[2][2] + mat[0][1]*mat[1][2]*mat[2][0] + mat[0][2]*mat[1][0]*mat[2][1] - mat[2][0]*mat[1][1]*mat[0][2] - mat[2][1]*mat[1][2]*mat[0][0] - mat[2][2]*mat[1][0]*mat[0][1];
     printf("Il determinante della matrice e\': %f", det);
    }
    else
    printf("Non si può determinare con la regola di Sarrus ma, bisogna usare quella di Laplace"); 
   }     
   system ("pause");
   return 0;
}
Ciao e grazie