gpt4 book ai didi

c - 如何在有两个圆圈的矩形中找到空白区域?

转载 作者:行者123 更新时间:2023-11-30 20:16:52 24 4
gpt4 key购买 nike

我正在解决 Toph 中的问题。在这个问题中,我必须找出其中有 2 个相等的圆的矩形的空白区域。

here is the problem

#include <stdio.h>
float pi=3.1416;
int main()
{
int i,t;
float r,rest;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%f",&r);
rest=(4*r*2*r)-(2*pi*r*r);
printf("Case %d: %.2f\n",i,rest);
}
return 0;

这是我的解决方案。它为第一个测试用例返回正确的值,但无法解决第二个测试用例。有什么问题吗???

最佳答案

<罢工> float pi=3.1416;是问题的原因。在数学头文件( #include <math.h> )下有一个常量 M_PI请使用它。

编辑:抱歉,没有仔细阅读,显然问题出在浮点精度上。如果将所有浮点值更改为 double 值,它应该可以工作。

#include <stdio.h>
double pi=3.1416;
int main()
{
int i,t;
double r,rest;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%lf",&r);
rest=(4*r*2*r)-(2*pi*r*r);
printf("Case %d: %.2lf\n",i,rest);
}
return 0;
}

关于c - 如何在有两个圆圈的矩形中找到空白区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59612205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com