栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【算法竞赛入门经典】习题1-6:三角形(triangle)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【算法竞赛入门经典】习题1-6:三角形(triangle)

【算法竞赛入门经典】 习题1-6:三角形

题目描述解题代码测试用例

题目描述

输入三角形的3条边的长度值(均为正整数),判断是否能为直角三角形的3个边长。如果可以,则输出 yes,如果不能,则输出 no。如果根本无法构成三角形,则输出 no a triangle。


解题代码

【思路】先将三遍从小到大排序,再判断“两边之和大于第三边”,最后用勾股定理判断是否为直角。

#include
int main(){
	int a,b,c,t;
	scanf("%d%d%d",&a,&b,&c);
	// 从小到大排序 
	if(a>b){t=a;a=b;b=t;}  //执行完毕之后a<=b 
	if(a>c){t=a;a=c;c=t;}  //执行完毕之后a<=c,且a<=b依然成立 
	if(b>c){t=b;b=c;c=t;}  //执行完毕之后a<=b<=c
	//检查是否能够成三角形 
	if(a+b>c){
		//检查是否为直角三角形 
		if(c*c==a*a+b*b)  printf("yes");
		else  printf("no"); 
	} else{
		printf("not a triangle");
	}
	return 0;
}

测试用例
输入输出
测试13 4 5yes
测试23 4 6no
测试33 5 1not a triangle
测试45 4 3yes
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/784113.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号