洛谷P5717-三角形分类

news2024/11/24 16:34:02

洛谷P5717-三角形分类

题目

image-20230512194901380

这道题更像是初中题,但是怎么能完整的按照题目的意思来解决呢,说实话这个题卡了我有一会儿,要做一次性做出这个题,我觉得需要搞清楚if-if 和if-else if-else if,试想这两个的区别是什么?无非是无论下面是否有满足条件的语句,有几个if就判断多少次,而如果使用if-else if -else if,如果第一个if就满足条件下面所有的else if都不会再进行判断,对这个题目来说,既然是判断三角形,那首先要是一个三角形吧,如果不是三角形,那我就不用判断是哪种三角形了,我这里如果连三角形都不是就直接return 0结束了,如果判断是三角形,才判断是哪种三角形,首先判断是钝角、直角、锐角哪一种三角形,明显三角形只能是其中一种,所以我用

if(a[3]*a[3]==(a[2]*a[2]+a[1]*a[1])) printf("Right triangle\n");
    else if(a[3]*a[3]>(a[2]*a[2]+a[1]*a[1])) printf("Obtuse triangle\n");
    else if(a[3]*a[3]<(a[2]*a[2]+a[1]*a[1]))printf("Acute triangle\n");

但是为什么下面判断等腰三角形和等边三角形又用了两个if而不是else if呢,那是因为等边三角形一定是等腰三角形,这两个存在一个等边三角形=>等腰三角形的关系,而不是只能满足其中某一个所以用

    if(a[1]==a[2]||a[2]==a[3]||a[3]==a[1]) printf("Isosceles triangle\n");
    if(a[1]==a[2]&&a[2]==a[3]) printf("Equilateral triangle\n");

这个题目主要是考if-if-if 和if-else if - else if的区别,很多时候我并没有注意过这些区别,只是一味的用if,但是如果在需要判断的多的情况下,纯if判断会降低效率。

代码

#include<bits/stdc++.h>
using namespace std;
int a[4],n=3;
int main() {
    for(int i=1; i<=3; ++i) scanf("%d",&a[i]);
    sort(a+1,a+n+1);
    if(a[1]+a[2]<=a[3]) {
        printf("Not triangle\n");
        return 0;
    }
    if(a[3]*a[3]==(a[2]*a[2]+a[1]*a[1])) printf("Right triangle\n");
    else if(a[3]*a[3]>(a[2]*a[2]+a[1]*a[1])) printf("Obtuse triangle\n");
    else if(a[3]*a[3]<(a[2]*a[2]+a[1]*a[1]))printf("Acute triangle\n");
    if(a[1]==a[2]||a[2]==a[3]||a[3]==a[1]) printf("Isosceles triangle\n");
    if(a[1]==a[2]&&a[2]==a[3]) printf("Equilateral triangle\n");
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT有意识吗?

​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; ChatGPT是一个计算机程序&#xff0c;它没有意识。它只是根据预设的算法和规则来处理输入和输出。虽然它可以模拟人类的对话&#xff0c;但它没有自己的思想或感觉。它只是根据程序设…

ROS 下 激光扫描仪 YDLidar-G4 使用

环境配置&#xff1a; ubuntu20.04 LTS ROS noetic 编程工具&#xff1a;vs code&#xff0c;远程通过ssh访问 扫描仪&#xff1a;YDLidar-G4 YDLidar驱动&#xff1a; YDLidar SDK YDLidar ROS 功能包 1 . YDLidar-SDK通信协议 雷达扫描输出的数据以十六进制格式输出到通信…

Linux文本之sed流编辑器

一、sed的相关知识及其工作流程 1&#xff09;sed编辑器的介绍 sed是一种流编辑器&#xff0c;它一次处理一行内容。处理时&#xff0c;把当前处理的行存储在临时缓冲区中&#xff0c;称为“模式空间”&#xff08;pattern space&#xff09;&#xff0c;接着用sed命令处理缓…

使用HDFS底层文件进行HBase跨集群数据迁移

目录 一、概述 二、环境信息 三、HBCK2下载和编译 四、具体操作步骤 4.1 数据同步 4.2 添加元数据 4.3 重新分配region 一、概述 客户集群机房迁移&#xff0c;我们部署的集群也要完成跨集群迁移hbase 表&#xff0c;这里选择迁移Hadoop底层数据来实现hbase的表迁移。 …

Plant Simulation 模型保存历史记录

Plant Simulation 建模是一个长时间的过程&#xff0c;所以做好模型保存历史记录很重要&#xff0c;这次分享一个OOTB&#xff08;开盒即用/系统自带&#xff09;的记录保存历史记录的功能。 文中截图于 Plant Simulation 16.0.5 目录 1.功能设置与说明2.使用场景3.总结 1.功能…

Selenium自动化测试中的PageObject模式

PageObject模式简介 众所周知&#xff0c;UI页面元素常常是不稳定的&#xff0c;在使用Selenium编写WebUI自动化测试用例时&#xff0c;随着测试脚本的增加&#xff0c;维护和更新这些元素便成为一个令人头疼的问题。 在普通模式下&#xff0c;脚本直接定位并操作元素&#xf…

链表中的经典问题

一、反转链表 反转一个单链表:一种解决方案是按原始顺序迭代结点&#xff0c;并将它们逐个移动到列表的头部。 方法1:迭代 C struct ListNode* reverseList(struct ListNode* head) {struct ListNode* prev NULL;struct ListNode* curr head;while (curr) {struct ListN…

字节跳动软件测试面试记:二面被按地上血虐,所幸Offer已到手

在互联网做了几年之后&#xff0c;去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好&#xff0c;更重要的是&#xff0c;它是对你专业能力的背书&#xff0c;大厂工作背景多少会给你的简历增加几分竞争力。 但说实话&#xff0c;想进大厂还真没那么容易。最近面试字…

Linux中与“系统网络状态”相关的内核数据结构

六、系统网络状态相关的数据结构 6.1 ifconf \linux-2.6.32.63\include\linux\if.h /* Structure used in SIOCGIFCONF request. Used to retrieve interfaceconfiguration for machine (useful for programs which must know allnetworks accessible). */ struct ifcon…

腾讯云与中电金信发布联合核心方案

5月11日&#xff0c;以“聚力革新&#xff0c;行稳致远”为主题的 “腾讯金融云国产化战略峰会”在北京举办&#xff0c;来自金融业、科技侧、研究机构的专家学者同聚一堂&#xff0c;共同探讨银行核心下移方法论以及国产化转型实践等话题。会议期间&#xff0c;中电金信副总经…

Java面试(2)数据类型

数据类型 1. Java有哪些数据类型 Java基本数据类型 这八种基本类型都有对应的包装类分别为&#xff1a;Byte、Short、Integer、Long、Float、Double、Character、Boolean 。 引用数据类型 引用数据类型非常多&#xff0c;大致包括&#xff1a;类、 接口类型、 数组类型、 枚…

AI低代码平台遍地开花,AI对于低代码到底是帮手还是对手?

AI对于低代码平台到底是帮手还是对手&#xff1f; 近日&#xff0c;CSDN举办的新程序员大会中&#xff0c;对于AI在代码领域的能力进行了5个层级的定义。并且进行了大量的测试&#xff0c;发现当下的AI已经可以去到初级程序员了&#xff0c;而更为强大的GPT-4的代码能力甚至还有…

Goby 漏洞更新 | 铭飞 CMS list 接口 sqlWhere 参数 sql 注入漏洞

漏洞名称&#xff1a;铭飞 CMS list 接口 sqlWhere 参数 sql 注入漏洞 English Name&#xff1a;MCMS list Interface sqlWhere Sql Injection Vulnerability CVSS core: 7.5 影响资产数&#xff1a;3091 漏洞描述&#xff1a; MCMS 是一套基于 java 开发的轻量级开源内容…

【时空权衡】

目录 知识框架No.0 时空权衡一、基本思想 No.1 计数排序二、分布计数 No.2 散列法 知识框架 No.0 时空权衡 一、基本思想 其实时空权衡&#xff1a;是指在算法的设计中&#xff0c;对算法的时间和空间作出权衡。 本文主要是是用空间来换时间的。(应该是这样吧) 对问题的部分或…

同样是做大模型的科技公司,为啥差距这么大呢?

2022年OpenAI亏了30多亿元&#xff0c; 站在风口上&#xff0c;谁的压力会小呢&#xff1f; 【科技明说 &#xff5c; 每日看点】站在风口上。OpenAI公司在2022年亏得十分“灿烂”&#xff0c;和往年同比几乎翻了一倍&#xff0c;亏损约达5.4亿美元&#xff0c;折合人民币约31…

微服架构基础设施环境平台搭建 -(五)Docker常用命令

微服架构基础设施环境平台搭建 -&#xff08;五&#xff09;Docker常用命令 本文主要列出了Docker常用的命令 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -&#xff08;一&#xff09;基础环境准备 微服架构基础设施环境平台搭建 -&#xff08;二&am…

富文本输出如何避免XSS

有时网站为了美观&#xff0c;会允许用户输入一些富文本&#xff0c;这样在显示的时候&#xff0c;就可以显示的更友好。虽然在输入富文本的时候在客户端进行了控制&#xff0c;但是&#xff0c;仍然难易避免一些攻击者通过抓包篡改数据绕过客户端的控制。因此&#xff0c;在服…

【飞行棋】多人游戏-微信小程序开发流程详解

可曾记得小时候玩过的飞行棋游戏&#xff0c;是90后的都有玩过吧&#xff0c;现在重温一下&#xff0c;这是一个可以二到四个人参与的游戏&#xff0c;通过投骰子走棋&#xff0c;一开始靠运气&#xff0c;后面还靠自己选择&#xff0c;谁抢占先机才能赢&#xff0c;还可以和小…

Redis 三大特殊数据类型常见命令

Geospatial 朋友的定位&#xff0c;附近的人&#xff0c;打车距离计算 底层是 Zset&#xff0c;即可以使用Zset的命令操作Geospatial Redis3.2 开始支持的 1.添加地理位置 两极无法添加经度&#xff1a;-180 ~ 180&#xff08;度&#xff09;纬度&#xff1a;-85.05112878 ~ 8…

一、RestTemplate的使用

目录 1、新建项目springcloud&#xff08;File--->New--->Project&#xff09; 使用maven quickstart快速新建Maven项目 输入项目名称和Maven信息 确认Maven目录、配置文件、本地仓库&#xff0c;Finish即可 2、创建聚合项目springcloud-member、springcloud-order(项…