7-10 实验2_5_求三角形的面积 (结构体版)

已知三角形的三条边长a、b、c,求三角形的面积。三角形的面积可以根据海伦公式来计算,这里S代表周长的一半,Area代表三角形的面积:

S=(A+B+C)/2

Area=(S(S−a)(S−b)(S−c))​

求一个数的平方根需要用库函数sqrt(x)。参数x可以是整数或者浮点数,函数返回值是一个浮点数。在处理浮点数的时候,建议使用双精度浮点型(double型)变量,

注意:为了使用该函数,需要在main函数之前加上预处理语句:

#include <math.h>

%lf的默认输出为6位小数,如果想要输出3为小数,则应为%.3lf。

输入格式:

为三个用空格分隔的正整数a、b、c,代表三角形的三边长度。

输出格式:

只有一行。当输入的三条边a、b、c可以构成三角形时(即两条边的长度和大于第三条边的长度),输出三角形的面积,输出结果保留3位小数,假如a=5,b=12,c=13,则输出“30.000”;当a、b、c三条边无法构成三角形时,则输出“The edges cannot make up of a triangle.”。测试用例保证运算中用到的整数可以用int型存储,小数可以用double型存储。

输入样例:

5 12 13

输出样例:

30.000
#include<stdio.h>
#include<math.h>
struct num
{
	float a;
	float b;
	float c;
};

int main()
{
	struct num s;
	double S,A;
	scanf("%f %f %f",&s.a,&s.b,&s.c);
	if(s.a+s.b<=s.c||s.a+s.c<=s.b||s.b+s.c<=s.a)
	{
		printf("The edges cannot make up of a triangle.");
	}
	else
	{
		S=(s.a+s.b+s.c)/2;
	    A=S*(S-s.a)*(S-s.b)*(S-s.c);
    	printf("%.3lf",sqrt(A));
	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆水獭_(:_」∠)_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值