一,内切圆
求阴影部分面积,其中已知三角形的三条边,内部白色的为该三角形的内切圆
输入
输入第一行一个整数T,代表接下来有T组测试数据。
对于每一组测试数据,输入3个整数a,b,c
数据范围:
数据保证一定可以构成三角形,且合法,其中圆周率取3.1415926
输出
对于每一组测试数据,输出对应答案,结果保留6位小数,且误差在0.001内均算正确
代码
#include<stdio.h>
#include<math.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
double pi=3.1415926;
double p=(a+b+c)/2;
double s=sqrt(p*(p-a)*(p-b)*(p-c));
double r=(2*s)/(a+b+c);
double S=pi*r*r;
printf("%.6lf\n",s-S);
}
return 0;
}
二,外接圆
给你一个三角形的三条边的长度,现在画出这个三角形的外接圆,然后让你求阴影面积
输入
输入第一行一个整数T,代表接下来有T组测试数据。
接下来T行,每行三个整数a,b,c,代表三角形三条边的长度。
数据范围:1≤T≤103,1≤a,b,c≤32768
数据保证一定可以构成三角形,圆周率取3.1415926.
输出
对于每一组测试数据,输出对应答案,结果保留6位小数,由于计算中可能存在误差,故允许误差为10-3以内均认为答案正确。
代码
#include<stdio.h>
#include<math.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
double pi=3.1415926;
double p=(a+b+c)/2;
double s=sqrt(p*(p-a)*(p-b)*(p-c));
double r=(a*b*c)/(4*s);
double S=pi*r*r;
printf("%.6lf\n",S-s);
}
return 0;
}