lxw2540493541
2021-12-27 00:02
采纳率: 100%
浏览 33

关于PAT乙级1062的问题,如何解决?(语言-c语言)

这是pat乙级1062,我的答案中间有两个检测点错误,求指点

img

#include<stdio.h>
#include<string.h>

int sf(int a,int b)
{
    int min= a>b?b:a;
    for(int i=2; i<=min; i++)
    {
        if(a%i==0&&b%i==0)
            return 0;
    }
    return 1;
}//判断是否最简
int main(void)
{
    int a,b,c,d,e;
    scanf("%d/%d %d/%d %d",&a,&b,&c,&d,&e);
    int A,C;
    A=a*d*e;
    C=c*b*e;    //通分
    int f=1;
    for(int i=1; i*b*d<C; i++)
    {
        if(i*b*d>=A&&i*b*d<=C&&f==1)
        {
            if(sf(i,e))
                printf("%d/%d",i,e);
            f=0;
            continue;
        }
        if(i*b*d>=A&&i*b*d<=C)
        {
            if(sf(i,e))
                printf(" %d/%d",i,e);
        }
    }
    return 0;
}
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题