效果如图
#include <stdio.h>
int main()
{
int x,y;
int min;
int i;
printf("请输入两个数字\n");
scanf("%d %d",&x,&y);
if(x<y){
min=x;
}else{
min=y;
}
int ret=0;
for(i=1;i<=min;i++){
if(x%i==0){
if(y%i==0){
ret=i;
}
}
}
printf("最大公约数是%d",ret);
return 0;
}
第二种思路(辗转相除法):
输入两个数a和b:
①如果b=0,结束计算,a就是最大公约数。
②否则令t=a%b,再将b的值给a,b等于余数t。
③回到第一步。
#include <stdio.h>
int main()
{
int a,b;
int t;
scanf("%d %d",&a,&b);
while(b!=0){
t=a%b;
a=b;
b=t;
}printf("最大公约数是%d",a);
return 0;
}