Ciao,
ho sistemato il codice solo che mcm mi da come risultato sempre il numero maggiore e non il numero giusto.
codice:
int mcm(int a, int b)
{
      int mcm1=0, max=0, min=0, i=1;
      if(a>=b)
      {
      max=a;
      min=b;
      mcm1=max;
      }
      else
      {
      max=b;
      min=a;
      mcm1=max;
      }
      while((max*i)%min==0)
      {
          mcm1=mcm1+max;
          i++;
      }
      return mcm1;
}
Vi posto anche il codice completo
codice:
#include <stdio.h>
int potenza(int,int);
int MCD(int,int);
int mcm(int,int);
int main()
{
    int a, b,scelta;
    do
    {
    printf("Inserisci il primo termine (intero) maggiore o uguale a zero:");
    scanf("%d", &a);
    printf("Inserisci il secondo termine (intero) maggiore o uguale a zero:");
    scanf("%d", &b);
    }
    while(a<0 && b<0);
    printf("Cosa vuoi vedere?\n");
    printf(" 1) a^b\n");
    printf(" 2) b^a\n");
    printf(" 3) MCD tra 'a' e 'b'\n");
    printf(" 4) mcm tra 'a' e 'b'\n");
    printf("Scelta:");
    scanf("%d", &scelta);
    switch(scelta)
    {
                  case 1:
                  printf("%d elevato alla %d da come risultato: %d\n",a,b,potenza(a,b));
                  break;
                  case 2:
                  printf("%d elevato alla %d da come risultato: %d\n",b,a,potenza(b,a));
                  break;
                  case 3:
                  printf("Il MCD tra %d e %d e\': %d\n",a,b,MCD(a,b));
                  break;
                  default:
                  printf("Il mcm tra %d e %d e\': %d\n",a,b,mcm(a,b));        
    }
    system("pause");
}
//Implementazione della funzione potenza
int potenza(int base,int esp)
{
      int ele=1;
      int i=0;
      for(i=0; i<esp; i++)
      ele=ele*base;
      return ele;
}
//Implementazione della funzione MCD con il metodo di Euclide
int MCD(int a, int b)
{
      int MCD1=0, rest=0;
      while(b>0)
      {
                    rest=a%b; //operazione per trovare il resto di variabili intere
                    a=b; //scambio le variabili
                    b=rest; 
      }
      MCD1=a;
      return MCD1;
}
//Implementazione della funzione mcm
int mcm(int a, int b)
{
      int mcm1=0, max=0, min=0, i=1;
      if(a>=b)
      {
      max=a;
      min=b;
      mcm1=max;
      }
      else
      {
      max=b;
      min=a;
      mcm1=max;
      }
      while((max*i)%min==0)
      {
          mcm1=mcm1+max;
          i++;
      }
      return mcm1;
}

Ciao e grazie mille