20220624
#include<stdio.h>
int main()
{
int x = 0;
int y = 0;
scanf_s("%d %d", &x, &y);
if (x > 0 && y > 0)
{
int max = 0;
if (x < y)
max = y;
else
max = x;
for (max; max != 0; max--)
{
if (x % max == 0 && y % max == 0)
{
printf("最大公约数是:%d", max);
break;
}
}
}
else
printf("输入错误(不得有字符及负数或零)");
}
可以报错,纠正
还有新的方法(辗转相除)
int main()
{
int a = 0;
int b = 0;
int t = 0;
scanf_s("%d %d", &a, &b);
while (t = a % b)
{
a = b;
b = t;
}
printf("最大公约数是:%d", b);
return 0;
}