【C语言经典100题#4】判断三角形

题目名称:

输入三个整数a,b,c,判断由a,b,c作为三条边组成的三角形,如果不能组成三角形则输出:非三角形;如果是三角形,再继续判断,如果是等边三角形,则输出:等边三角形;如果是等腰三角形,则输出:等腰三角形;否则输出普通三角形


答案

c 复制代码
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d %d %d", &a, &b, &c);
	//三⻆形必须满⾜任意两天边⼤于第三条边
	if (a + b > c && a + c > b && b + c > a)
	{
		//三条边相当
		if (a == b && b == c)
		{
			printf("等边三⻆形\n");
		}
			//任意两条边相等,但是不等于第三条边,此时只需要判断是否有两条边相等
		else if (a == b || a == c || b == c)
		{
			printf("等腰三⻆形\n");
		}
		//两种情况都不满⾜输出普通三⻆形
		else
		{
				printf("普通三⻆形\n");
		}
	}
	//不能构成三⻆形
	else
	{
		printf("⾮三⻆形\n");
	}
	return 0;
	}

解题思路

三角形的判断方法是:对于三条边长a、b、c,若任意两边之和大于第三边,那么就可以组成⼀个三角形,即a+b>c,a+c>b,b+c>a。

如果组成了三角形,再判断是什么三角形,有三种情况:

  1. 等边三角形:三边相等;
  2. 等腰三角形:两边相等,但不等于第三边;
  3. 普通三角形:三边不相等。
    最后,如果输⼊的三个数不能组成三角形,则输出"非三角形"

运行结果


下期题目

输入2个整数m和n,计算m和n的最大公约数,并打印出结果

相关推荐
std787932 分钟前
Rust 与 Go – 比较以及每个如何满足您的需求
开发语言·golang·rust
报错小能手38 分钟前
python(入门)map内置函数及import模块导入,as别名
开发语言·人工智能·python
梵得儿SHI1 小时前
Java 反射机制实战:对象属性复制与私有方法调用全解析
java·开发语言·java反射机制的实际应用·对象属性复制·反射调用私有方法·私有字段·类型兼容性和敏感字段忽略
sulikey1 小时前
C++的STL:深入理解 C++ 的 std::initializer_list
开发语言·c++·stl·list·initializerlist·c++标准库
liu****1 小时前
19.map和set的封装
开发语言·数据结构·c++·算法
孤廖1 小时前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
润 下1 小时前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_1 小时前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee
前端架构师-老李1 小时前
Java开发—JDK的安装和版本管理(macOS)
java·开发语言·macos
懂得节能嘛.2 小时前
【动态配置中心】Java+Redis构建动态配置中心
java·开发语言·redis