m0_61960360 2022-04-19 21:30 采纳率: 92.9%
浏览 118
已结题

请问这里为什么会超时

img

img

img

#include<stdio.h>
#include<math.h>

int main() {
double a, b, c, d;
scanf("%lf %lf", &a, &b);
if (fabs(b - (int)b) < 1e-8) {
printf("%d 0.0000000000\n", (int)b);
}
else {
if (b == 1) {
printf("More than one!\n");
}
if (b >1)
{
c = a + 1;
for (; c++;)
{
d = fabs(c / a - b);
if (d < 1e-8)
{
printf("%d/%d %.10lf\n", (int)c, (int)a, d);
break;
}
}
}

    if (b < 1)
    {
        c = a -1;
        for (; c--;c>0)
        {
            d = fabs(c / a - b);
            if (d < 1e-8)
            {
                printf("%d/%d %.10lf\n", (int)c, (int)a, d);
                break;
            }
        }
    }
}
return 0;

}

  • 写回答

5条回答 默认 最新

  • fuill 2022-04-20 00:31
    关注

    你这写的问题很多啊
    给你写了下

    img

    
    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
        double a, b, c, d, g;
        scanf("%lf%lf", &a, &b);
        int flag=1;
        if(b<0) {
            flag=-1;
            b=fabs(b);
        }
        double min=b,minnum1=1,minnum2=1;
        if (fabs(b - (int)b) < 1e-8)
        {
            printf("%d 0.0000000000\n", (int)b);
        }
        else
        {
            if (b == 1)
            {
                printf("More than one!\n");
            }
            else if (b >1)
            {
                for(c=1; c/g<=b; c++)
                {
                    for(g=1; g<=a; g++)
                    {
                        d=fabs(c/g-b);
                        if(d<min)
                        {
                            min=d;
                            minnum1=c;
                            minnum2=g;
                        }
                    }
                }
                printf("%d/%d %.10lf",flag*(int)minnum1,(int)minnum2,min);
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月19日

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端