1018: 【入门】三角形类别

该文讲述了如何通过编程判断三个整数是否能构成三角形以及其类型,包括锐角、直角和钝角三角形。首先,通过两边之和大于第三边的条件判断能否构成三角形,然后计算边长的平方关系来确定三角形类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

输入三个整数,以这三个数为边长,判断是否构成三角形;若不能输出"no",若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形.分别输出"ruijiao","zhijiao","dunjiao"

输入

三个整数

 输出

一个字符串

样例输入 

3 4 5

 样例输出 

zhijiao

 我们如果要做这道题先要知道一个概念:两边之和大于第三边。

如果是要判断是什么类型的叫的话就要知道:两个短边的平方和等于一个长边的平方时为直角三角形 两个短边的平方和小于一个长边的平方时为钝角三角形 两个短边的平方和大于一个长边的平方时为锐角三角形。

我们先可以判断三条边是否构成三角形,也就是:

if(a+b>c&&a+c>b&&c+b>a){

    }
    else{
		cout<<"no";
	}

随后判断是什么三角形的是:

if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a){
    cout<<"zhijiao";
}
else if(a*a+b*b<c*c||a*a+c*c<b*b||c*c+b*b<a*a){
	cout<<"dunjiao";
}
else if(a*a+b*b>c*c||a*a+c*c>b*b||c*c+b*b>a*a){
	cout<<"ruijiao";
}
	

把他们套在一起就是表明了先判断是否为三角形,然后若构成三角形判断是什么类型的三角形,如果不构成三角形,那就输出no。也就是把以上两个套起来:

if(a+b>c&&a+c>b&&c+b>a){
    	if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a){
    		cout<<"zhijiao";
		}
		else if(a*a+b*b<c*c||a*a+c*c<b*b||c*c+b*b<a*a){
			cout<<"dunjiao";
		}
		else if(a*a+b*b>c*c||a*a+c*c>b*b||c*c+b*b>a*a){
			cout<<"ruijiao";
		}
	}else{
		cout<<"no";
	}

最后把基础的文件头什么的加上:

#include <bits/stdc++.h>//万能头文件
using namespace std;
int main(){//主函数
    int a,b,c;
    cin>>a>>b>>c;//与以前一样,可以用scanf
    if(a+b>c&&a+c>b&&c+b>a){
    	if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a){//这几个中间的cout可以改为用printf写的,看自己的需要来
    		cout<<"zhijiao";
		}
		else if(a*a+b*b<c*c||a*a+c*c<b*b||c*c+b*b<a*a){
			cout<<"dunjiao";
		}
		else if(a*a+b*b>c*c||a*a+c*c>b*b||c*c+b*b>a*a){
			cout<<"ruijiao";
		}
	}else{
		cout<<"no";
	}
    return 0;
}

 好了,以上为三角形类别的解题详解。(如果有不对的还请指出,谢谢)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值