#include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    main(){
    int scelta,nElementi,nFat,i,x,nkElementi,nk,nkFat,risultato,kFat,nk1Fat,nk1,elementiRipetuti,frequenza,nFatFrequenza;
do
{
    printf("                         ************************** \n");
    printf("                            Programma di Calcolo \n");
    printf("                         ************************** \n\n");
    printf("Premi 1 per calcolare le Permutazioni Semplici\n\n");
    printf("Premi 2 per calcolare le Permutazioni con Ripetizione\n\n");
    printf("Premi 3 per calcolare le Disposizioni Semplici\n\n");
    printf("Premi 4 per calcolare le Disposizioni con Ripetizione\n\n");
    printf("Premi 5 per calcolare le Combinazioni Semplici\n\n");
    printf("Premi 6 per calcolare le Combinazioni con Ripetizione\n\n\n");
    printf("Premi 7 per uscire\n\n\n");
    scanf("%d",&scelta);
     
      printf("Inserisci N: ");
      scanf("%d",&nElementi);
     
      if(scelta>2)  {
        printf("Inserisci K: ");
        scanf("%d",&nkElementi);
      }
     
      if(scelta==1) { //Hai scelto di calcolare le 'Permutazioni Semplici'
        if(nElementi!=0) {
          nFat=nElementi;
          while(--nElementi) nFat=nFat*nElementi;
        }
        else nFat=1;
        printf("\nLe permutazioni semplici sono:");
        printf("\n %d\n\n",nFat);
      }
      else if(scelta==2)  { //Hai scelto di calcolare le 'Permutazioni con Ripetizione'
        if(nElementi!=0)  {
          nFat=nElementi;
          for(i=1; i<nElementi; i++) {
            nFat=nFat*(nElementi-i);
          }
        }
        else nFat=1;
         
       
        printf("Quanti elementi sono ripetuti?: ");
        scanf("%d",&elementiRipetuti);   
        while(elementiRipetuti>nElementi) {
          printf("ERRORE! Il numero di elementi ripetuti %d supera il numero di elementi %d.\n",elementiRipetuti,nElementi);
          printf("Ristabilisci quanti elementi sono ripetuti?: ");
          scanf("%d",&elementiRipetuti);
        }
         risultato=1;
        for(i=1;i<=elementiRipetuti;i++)  {
          printf("Dammi la frequenza del %d elemento: ",i);
          scanf("%d",&frequenza);
          if( frequenza!=0)  {
            nFatFrequenza=frequenza;
            for(x=1; x<frequenza; x++) {
              nFatFrequenza=nFatFrequenza*(frequenza-x);
            }
          }
          else  nFatFrequenza=1;
          risultato=risultato*nFatFrequenza;
        }
        printf("\nLe permutazioni con ripetizioni dei dati inseriti sono:");
        printf("\n%d\n\n",(nFat/risultato));
      }
      else if(scelta==3)  { //Disposizioni semplici
        if( nElementi!=0)  {
          nFat=nElementi;
          // calcolo il fattoriale di n!
          for(i=1; i<nElementi; i++) {
            nFat=nFat*(nElementi-i);
          }
        } 
        else nFat=1;
        nkFat=nk=nElementi-nkElementi;
        if( nk!=0)  {
          //calcolo il fattoriale di (n-k)!
          for(i=1; i<nk; i++) {
            nkFat=nkFat*(nk-i);
          }
        }
        else nkFat=1;
        risultato=nFat/nkFat;
        printf("\nLe disposizioni semplici sono:");
         printf("\n %d\n\n",risultato);
      }
      else if(scelta==4)  { //Disposizioni con ripetizione
        // calcolo la potenza k di n.
        nFat=nElementi;
        for(i=1; i<nkElementi; i++) {
          nFat=nFat*nElementi;
        }
        printf("\nLe disposizioni con ripetizioni sono:");
        printf("\n %d\n\n",nFat);
      }
      else if(scelta==5)  { //Combinazioni semplici
        // calcolo il fattoriale di n!
        if(nElementi!=0) {   
          nFat=nElementi;
          for(i=1; i<nElementi; i++) {
            nFat=nFat*(nElementi-i);
          }
        }
        else nFat=1;
        //calcolo il fattoriale di (n-k)!
        nkFat=nk=nElementi-nkElementi;
        if(nk!=0) {
          for(i=1; i<nk; i++) {
            nkFat=nkFat*(nk-i);
          }
        }
        else nkFat=1;
        //calcolo il fattoriale di k!
        if(nkElementi!=0) {
          kFat=nkElementi;
          for(i=1; i<nkElementi; i++) {
            kFat=kFat*(nkElementi-i);
          }
        }
        else kFat=1;
        risultato=nFat/(nkFat*kFat);
        printf("\nLe combinazioni semplici dei dati inseriti sono:");
        printf("\n %d\n\n",risultato);
      }
      else if(scelta==6)  { //Combinazioni con ripetizione
        // calcolo il fattoriale di (n+k-1)!
        nk1Fat=nk1=(nElementi+nkElementi-1);
        if(nk1Fat!=0) {
          for(i=1; i<nk1; i++) {
            nk1Fat=nk1Fat*(nk1-i);
          }
        }
        else  nk1Fat=1;
        //calcolo il fattoriale di (n-k)!
         if(nkFat!=0) {
          nkFat=nk=nElementi-1;
          for(i=1; i<nk; i++) {
            nkFat=nkFat*(nk-i);
          }
        }
        else  nkFat=1;   
        //calcolo il fattoriale di k!
        if(nkElementi!=0) {
          kFat=nkElementi;
          for(i=1; i<nkElementi; i++) {
            kFat=kFat*(nkElementi-i);
          }
        }
        else   kFat=1; 
        risultato=nk1Fat/(nkFat*kFat);
        printf("\nLe combinazioni con ripetizione dei dati inseriti sono:");
        printf("\n %d\n\n",risultato);
      }
}while(scelta != 7);
      system("PAUSE");
      return 0;
    }
Ecco la modifica. Ti consiglio di rivedere tutto il codice cmq. Dividerlo in funzioni, mettere uno switch su scelta invece di if-else-if-else ecc.