1xw 2021-12-27 00:02 采纳率: 75%
浏览 48
已结题

关于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条回答 默认 最新

查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 已采纳回答 12月27日
  • 修改了问题 12月27日
  • 创建了问题 12月27日