Ciao, non so quale algoritmo abbiate utilizzato a lezione,da quello scritto da te non si capisce, io nell'esempio ho usato quello di euclide (mcd tra due numeri).
Al di la dell'errore sulla logica dell'algoritmo ho visto che ci sono diversi errori di logica/sintassi del linguaggio C. Ti consiglio di rivedertelo, io potrei darti anche una mano... ma non so fino a che punto.
#include <stdio.h>
#include <stdlib.h>
int mcd(int a, int b);
int main ()
{
int a,b,maxdiv;
printf("Inserire valore di a: ");
scanf("%d",&a);
printf("Inserire valore di b: ");
scanf("%d",&b);
maxdiv = mcd(a,b);
printf("Il massimo comun divisore e': %d\n",maxdiv);
system("PAUSE");
}
int mcd(int a, int b)
{
while (a>0)
{
if(a==b || a==0 || b == 0)
return a;
if(a>b)
a -=b;
else
{
int tmp = b;
b = a;
a = tmp;
}
}
return b;
}
ti posto un link dove viene spiegato questo argomento (mcd, con algoritmo di euclide),
Ciao