2531130143 发表于 2021-9-19 23:00:39

调用gcd()函数求两个整数最大公约数 不知道哪错了

#include<stdio.h>
int gcd(int a,int b)
{
        int temp;
        int remainder;
        if(a<b)
        {
               temp = a; a = b; b = temp;
        }
        remainder=a%b;
        while(remainder!=0)
        {
                a=b;
                b=remainder;
        }
        return b;
}
void main()
{
        int x,y;
        int fac;
        printf("Please input two num:\n");
        scanf("%d %d",&x,&y);
        fac=gcd(x,y);
        printf("The great common divisor is%d\n",fac);
}

wp231957 发表于 2021-9-19 23:44:16

while(remainder!=0)
      {
                a=b;
                b=remainder;
      }
这个循环没有改变remainder所以要么不进入循环,要么是死循环

2531130143 发表于 2021-9-22 19:57:54

哦哦,懂了
页: [1]
查看完整版本: 调用gcd()函数求两个整数最大公约数 不知道哪错了