m0_56197713 2021-03-17 23:09 采纳率: 100%
浏览 35
已采纳

这个求两个数最大公约数的程序哪里错了?

int main()
{
    int m, n, a,i;
    int min(int x, int y);
    scanf("%d,%d",&m,&n);
    a = min(m, n);
    for (i=a;i >sqrt(min(m,n));i--)
    {
        if (n% i == 0 && m % i == 0);
        {
            printf("%d是%d和%d的最大公约数", i, m, n);
            break;

        }

        
    }
    return 0;


}
int min(int x, int y)
{
    int z;
    if (x > y)z = y;
    else z = x;
    return(z);

}
//仅能输出2个数中较小的数而非输出最大公约数

 

  • 写回答

1条回答 默认 最新

  • 爱晚乏客游 2021-03-18 09:12
    关注

    第9行if后面为什么加分号?求最大公约数建议上辗转相除法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?