纸鱼与海xd 2022-01-16 12:34 采纳率: 100%
浏览 41
已结题

求告知求最大公约数提交为啥答案错误


#include<stdio.h>
int gcd(int x,int y){
    if(y==0)
        return x;
    else
        return (y,x%y);
}
int main(){
    int a,b,c;
    scanf("%d %d",&a,&b);
    if(a>b){
        c=a;
        a=b;
        b=c;
    }
    printf("%d\n",gcd(a,b));
    return 0;
}
  • 写回答

5条回答 默认 最新

  • qzjhjxj 2022-01-16 13:41
    关注

    修改见注释,供参考:

    #include<stdio.h>
    int gcd(int x,int y){
        if(y==0)
            return x;
        else
            return gcd(y,x%y); //修改
    }
    int main(){
        int a,b,c;
        scanf("%d %d",&a,&b);
        if(a<b){              //修改
            c=a;
            a=b;
            b=c;
        }
        printf("%d\n",gcd(a,b));
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月19日
  • 已采纳回答 1月19日
  • 创建了问题 1月16日