我的思路不是很清晰。
#include<stdio.h>
void main()
{
int m, n, i, j, x, y, max;
printf("Please enter 2 numbers: \n");
scanf("%d %d", &m, &n);
if (m<n)
{
for (i = m, x = n%i; i > 0, x != 0; i--)//这里我是想用n来和较小的m来求比m小的一个能够被n整除的数
{
for (j = i, y = m%j; j > 0, y != 0; j--)//在这里再用上面求到的这个数和m来除,求得最大公约数
max = j;
}//但是跳出循环有问题啊,不能在我要求的情况下跳出循环
}
else
{
for (i = n, x = m%i; i > 0, x != 0; i--)
{
for (j = i, y = n%j; j > 0, y != 0; j--)
max = j;
}//
}
printf("这2个数的最大公约数是:%d\n", max);
}
这里只做了最大公约数的部分,大家帮忙看看,帮我重新写一个来借鉴一下也可以,谢谢了