abc判断三角形?

问题描述

输入3个整数abc,判断由abc作为3条边能否组成的三角形
如果能,则判断该三角形是等边三角形、等腰三角形还是普通三角形
如果不能,则输出不是三角形

示例

输入:5,5,5 输出:等边三角形
输入:3,5,5 输出:等腰三角形
输入:3,4,5 输出:普通三角形
输入:9,4,3 输出:不是三角形

思路分析

1.首先判断是否三条边能否构成一个三角形,根据三角形任意两条边相加一定大于大三条边原则来实现,如果可以组成三角形则继续判断下面的2、3、4
2.判断三条边都相等是否成立,如果成立则直接输出等边三角形
3.判断任意两边相等,但又不等与第三边,如果成立则直接输出等腰三角形
4.如果上面的2.、3都不满足的话,输出普通三角形
5.如果不能构成三角形,输出不是三角形

代码实现

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;

    //用循环实现连续输入,EOF代表读取失败
	while (scanf("%d%d%d", &a, &b, &c) != EOF)
	{
		if (a + b >= c && a + c >= b && b + c >= a)//判断是否为三角形,任意两边大于第三边
		{
			//三边相等
			if (a == b && b == c)
			{
				printf("等边三角形\n");
			}
			//两边相等但是不等于第三边
            //这里是else if()的话就只需要判断是否有两边相等
			else if (a == b || a == c || b == c)
			{
				printf("等腰三角形\n");
			}
			//不满足上面两种就是普通三角形了
			else
			{
				printf("普通三角形\n");
			}
		}
		else
		{
			printf("不是三角形\n");
		}
	}

	return 0;
}

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值