【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的最大公约数,并打印出结果

相关推荐
牛奔4 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
2601_951644324 小时前
C语言二级备考指南
c语言·编程基础·编译环境·二级考试·题库选择
geovindu5 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
学逆向的5 小时前
汇编——JCC指令
开发语言·汇编·网络安全
mayaairi6 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
kite01216 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
l156469488 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie1145141918 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++
日拱一卒——功不唐捐9 小时前
红黑树删除(C语言)
c语言·数据结构
IT小盘9 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python