求高手指导c语言问题关于两个数的最大公约数,如何修改才能得出使他们两个最大公约数而不是所有公约数?

2025-03-03 21:55:52
推荐回答(2个)
回答1:

改成这样就行了:

int main(void){
    int a,b,t;
    printf("请输入a,b的值:");
    scanf("%d,%d",&a,&b);
    while(b){
        t=a%b;       
        a=b;
        b=t;
    }
    printf("The GCD is %d\n",a);
    return 0;
}

回答2:

#include
main()
{
    int a,b,t;
    int result;//保存约数
    printf("请输入a,b的值:");
    scanf("%d,%d",&a,&b);
    if(a    {
        for(t=1; t<=a; t++)
            if(a%t==0 && b%t==0)
                result=t;
    }
    if(a>b)
    {
        for(t=1; t<=b; t++)
            if(a%t==0 && b%t==0)
                result=t;
    }
    printf("%d",result);
    return 0;
}