题解:学而思编程 三角形类型
2026/5/5 19:57:54 网站建设 项目流程

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

三角形类型

【题目描述】

读取表示三角形三条边的3 33个正整数A AAB BBC CC并按降序排列,使A AA边是三边中最大的一边。

接下来,根据以下情况,确定它们可以组成的三角形类型:

如果A ≥ B + C A\ge B+CAB+C,则说明三条边不能构成三角形,请输出:NAO FORMA TRIANGULO

否则,说明三条边可以构成三角形,然后按如下情况输出:

如果A 2 = B 2 + C 2 A^2=B^2+C^2A2=B2+C2,请输出:TRIANGULO RETANGULO

如果A 2 > B 2 + C 2 A^2\gt B^2+C^2A2>B2+C2,请输出:TRIANGULO OBTUSANGULO

如果A 2 < B 2 + C 2 A^2\lt B^2+C^2A2<B2+C2,请输出:TRIANGULO ACUTANGULO

如果三个边长度都相同,请输出:TRIANGULO EQUILATERO

如果只有两个边长度相同而第三个边长度不同,请输出:TRIANGULO ISOSCELES

【输入】

共一行,包含三个正整数A , B , C A,B,CA,B,C

【输出】

输出A , B , C A,B,CA,B,C组成的三角形的类型。

注意,上述条件可能满足不止一条,这种情况下将所有类型名称,按题目介绍顺序输出,每行输出一条。

【输入样例】

7 5 7

【输出样例】

TRIANGULO ACUTANGULO TRIANGULO ISOSCELES

【算法标签】

#模拟#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;inta,b,c;intmain(){cin>>a>>b>>c;// 将最大数交换到a的位置if(a<b){intt=a;a=b;b=t;}if(a<c){intt=a;a=c;c=t;}// 检查是否能构成三角形if(a>=b+c){cout<<"NAO FORMA TRIANGULO"<<endl;}else{// 判断三角形类型if(a*a==b*b+c*c){cout<<"TRIANGULO RETANGULO"<<endl;// 直角三角形}if(a*a>b*b+c*c){cout<<"TRIANGULO OBTUSANGULO"<<endl;// 钝角三角形}if(a*a<b*b+c*c){cout<<"TRIANGULO ACUTANGULO"<<endl;// 锐角三角形}if(a==b&&b==c){cout<<"TRIANGULO EQUILATERO"<<endl;// 等边三角形}// 判断等腰三角形if(a==b&&c!=a&&c!=b||a==c&&b!=a&&b!=c||b==c&&a!=b&&a!=c){cout<<"TRIANGULO ISOSCELES"<<endl;// 等腰三角形}}return0;}

【运行结果】

7 5 7 TRIANGULO ACUTANGULO TRIANGULO ISOSCELES

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询