scanf("%d\n%d",&m,&n); // scanf中不要用\n
m=a*c;
//a和c都没有值
n=b*c;
//b和c都没有值
if(a%b!=0)
//这一段也不对
{printf("%d 是最大公约数\n",c);}可以用辗转相除法: #include"stdio.h"main(){int m,n,r,g,h,p; scanf("%d%d",&m,&n); p=m*n; while((r=m%n)!=0) /*余数不为0时循环*/ {m=n; /*以上一次的除数作为新的被除数*/n=r; ... |