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

相关推荐
Thomas_YXQ3 小时前
Unity3D在ios平台下内存的优化详解
开发语言·macos·ios·性能优化·cocoa
咸甜适中3 小时前
rust的docx-rs库,自定义docx模版批量生成docx文档(逐行注释)
开发语言·rust·docx·docx-rs
浒畔居3 小时前
泛型编程与STL设计思想
开发语言·c++·算法
Fcy6483 小时前
C++ 异常详解
开发语言·c++·异常
机器视觉知识推荐、就业指导4 小时前
Qt 和 C++,是不是应该叫 Q++ 了?
开发语言·c++·qt
m0_748229994 小时前
ThinkPHP快速入门:从零到实战
c语言·开发语言·数据库·学习
liu****4 小时前
三.Qt图形界面开发完全指南:从入门到掌握常用控件
开发语言·c++·qt
布茹 ei ai4 小时前
Python屏幕监视器 - 自动检测屏幕变化并点击
开发语言·python
小龙报4 小时前
【C语言进阶数据结构与算法】单链表综合练习:1.删除链表中等于给定值 val 的所有节点 2.反转链表 3.链表中间节点
c语言·开发语言·数据结构·c++·算法·链表·visual studio
黎雁·泠崖5 小时前
Java抽象类与接口:定义+区别+实战应用
java·开发语言