C语言 定义计算四边形面积的函数
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/08/13 15:03:39
C语言 定义计算四边形面积的函数
定义计算四边形面积的函数
来源 李宇(P76 10)
描述
如果四边形四个边的长度分别为a、b、c、d,一对对角之和为2α,则其面积为:
S = sqrt((s-a)*(s-b)*(s-c)*(s-d) - a*b*c*d*cos2α);
其中s = (a+b+c+d)/2;
定义一个函数计算任意四边形的面积,前提是给出四边形的各条边长度,以及一对对角的和.
关于输入
输入分五行
前四行每行输入一个浮点数,分别是四边形四条边的长度.
第五行输入一个0到360之间的浮点数,表示四边形一对对角之和(角度制).
关于输出
输出只有一行,输出计算得到的四边形面积,结果保留4位小数.
当公式中根号内的值计算出负值时,应给出Invalid input的提示.
例子输入
3
4
5
5
145
例子输出
16.6151
提示
cos()函数的参数应为弧度值,PI = 3.1415926,浮点数用double类型.
定义计算四边形面积的函数
来源 李宇(P76 10)
描述
如果四边形四个边的长度分别为a、b、c、d,一对对角之和为2α,则其面积为:
S = sqrt((s-a)*(s-b)*(s-c)*(s-d) - a*b*c*d*cos2α);
其中s = (a+b+c+d)/2;
定义一个函数计算任意四边形的面积,前提是给出四边形的各条边长度,以及一对对角的和.
关于输入
输入分五行
前四行每行输入一个浮点数,分别是四边形四条边的长度.
第五行输入一个0到360之间的浮点数,表示四边形一对对角之和(角度制).
关于输出
输出只有一行,输出计算得到的四边形面积,结果保留4位小数.
当公式中根号内的值计算出负值时,应给出Invalid input的提示.
例子输入
3
4
5
5
145
例子输出
16.6151
提示
cos()函数的参数应为弧度值,PI = 3.1415926,浮点数用double类型.
![C语言 定义计算四边形面积的函数](/uploads/image/z/6333112-64-2.jpg?t=C%E8%AF%AD%E8%A8%80+%E5%AE%9A%E4%B9%89%E8%AE%A1%E7%AE%97%E5%9B%9B%E8%BE%B9%E5%BD%A2%E9%9D%A2%E7%A7%AF%E7%9A%84%E5%87%BD%E6%95%B0)
#define PI 3.1415926
#include
#include
int main()
{
double a,b,c,d;
double s,S,e,m,p;
scanf("%lf\n",&a);
scanf("%lf\n",&b);
scanf("%lf\n",&c);
scanf("%lf\n",&d);
scanf("%lf\n",&m);
p=m* PI/(2*180);
s = (a+b+c+d)/2;
S = sqrt((s-a)*(s-b)*(s-c)*(s-d) - a*b*c*d*cos(p)*cos(p));
if ((s-a)*(s-b)*(s-c)*(s-d) - a*b*c*d*cos(p)*cos(p)>=0)
{
printf("%.4lf",S);
}
else
printf("Invalid input");
return 0;
}
#include
#include
int main()
{
double a,b,c,d;
double s,S,e,m,p;
scanf("%lf\n",&a);
scanf("%lf\n",&b);
scanf("%lf\n",&c);
scanf("%lf\n",&d);
scanf("%lf\n",&m);
p=m* PI/(2*180);
s = (a+b+c+d)/2;
S = sqrt((s-a)*(s-b)*(s-c)*(s-d) - a*b*c*d*cos(p)*cos(p));
if ((s-a)*(s-b)*(s-c)*(s-d) - a*b*c*d*cos(p)*cos(p)>=0)
{
printf("%.4lf",S);
}
else
printf("Invalid input");
return 0;
}