定义一个三角形结构体,并实现相关功能

定义一个三角形结构体,并构造函数实现三角形类型的判断和面积的计算。

代码如下:

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

struct Triangle//三角形结构体
{
	int edge1;
	int edge2;
	int edge3;
};

int setTri1(struct Triangle tri)//判断是否为三角形
{
	if (tri.edge1 >= tri.edge2 + tri.edge3 || tri.edge2 >= tri.edge1 + tri.edge3 || tri.edge3 >= tri.edge1 + tri.edge2)
		return 1;
	else
	{
		return 0;
	}
}

double area(struct Triangle tri)//计算三角形面积
{
	double n = (tri.edge1 + tri.edge2 + tri.edge3) / 2.0;
	double s = sqrt(n * (n - tri.edge1) * (n - tri.edge2) * (n - tri.edge3));
	return s;
}

int judgeTri(struct Triangle tri)//判断三角形类型
{
	if (tri.edge1 == tri.edge2 && tri.edge2 == tri.edge3)//等边三角形
		return 0;
	else
		if (tri.edge1 == tri.edge2 || tri.edge1 == tri.edge3 || tri.edge2 == tri.edge3)//等腰三角形
			return 1;
		else
			if ((tri.edge1 == sqrt(tri.edge2 * tri.edge2 + tri.edge3 * tri.edge3)) || (tri.edge2 == sqrt(tri.edge1 * tri.edge1 + tri.edge3 * tri.edge3)) || (tri.edge3 == sqrt(tri.edge2 * tri.edge2 + tri.edge1 * tri.edge1)))//直角三角形				
				return 2;
		else
				return 3;
}

int main()
{
	struct Triangle tri = {0};
ll:
	printf("请输入三条边\n");
	scanf("%d %d %d", &tri.edge1, &tri.edge2, &tri.edge3);
	if (setTri1(tri) == 1)
	{
		printf("不是三角形,请重新输入\n");
		goto ll;
	}
	printf("面积是%f\n", area(tri));
	if (judgeTri(tri) == 0)
		printf("等边三角形\n");
	else
		if (judgeTri(tri) == 1)
			printf("等腰三角形\n");
		else
			if (judgeTri(tri) == 2)
				printf("直角三角形\n");
			else
				if (judgeTri(tri) == 3)
					printf("普通三角形\n");
}


运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值