首页 > 其他分享 >排序只要按顺序走就一定没问题

排序只要按顺序走就一定没问题

时间:2022-10-04 15:01:58浏览次数:52  
标签:include cout int double namespace 顺序 pow 排序 只要

只要遵循第一个先和第二个比较,第二个在和第三个比较,就不用再第一个和第三个比较了

  1. 三个都比:
#include <iostream>
#include <cmath>
#include<algorithm>
using namespace std;

int main()
{
    double a,b,c;
    cin >> a >> b>>c;
    if(c>b)
    {
        double t=b;
        b=c;
        c=t;
    }
    if (b>a){
        double t=a;
        a=b;
        b=t;
    }
    if(c>a){
        double t=a;
        a=c;
        c=t;
    }
    if (a>=b+c){
        cout<<"NAO FORMA TRIANGULO";
    }
    else{
        if(pow(a,2)==pow(b,2)+pow(c,2)){
            cout<<"TRIANGULO RETANGULO"<<endl;
        }
        else if (pow(a,2)>pow(b,2)+pow(c,2)){
            cout<<"TRIANGULO OBTUSANGULO"<<endl;
            //cout<<pow(a,2)<<pow(b,2)+pow(c,2);
        }
        else if (pow(a,2)< pow(b,2)+pow(c,2)){
            cout<<"TRIANGULO ACUTANGULO"<<endl;
           // cout<<pow(a,2)<<" "<<pow(b,2)+pow(c,2);
        }
        }
    if (a==b&&b==c){
        cout<<"TRIANGULO EQUILATERO";
    }
    if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&c!=a)){
        cout<<"TRIANGULO ISOSCELES";
    }
    return 0;
}

image
2. 把三个删了:

#include <iostream>
#include <cmath>
#include<algorithm>
using namespace std;

int main()
{
    double a,b,c;
    cin >> a >> b>>c;
    if(c>b)
    {
        double t=b;
        b=c;
        c=t;
    }
    if (b>a){
        double t=a;
        a=b;
        b=t;
    }
//    if(c>a){
//        double t=a;
//        a=c;
//        c=t;
//    }
    if (a>=b+c){
        cout<<"NAO FORMA TRIANGULO";
    }
    else{
        if(pow(a,2)==pow(b,2)+pow(c,2)){
            cout<<"TRIANGULO RETANGULO"<<endl;
        }
        else if (pow(a,2)>pow(b,2)+pow(c,2)){
            cout<<"TRIANGULO OBTUSANGULO"<<endl;
            //cout<<pow(a,2)<<pow(b,2)+pow(c,2);
        }
        else if (pow(a,2)< pow(b,2)+pow(c,2)){
            cout<<"TRIANGULO ACUTANGULO"<<endl;
           // cout<<pow(a,2)<<" "<<pow(b,2)+pow(c,2);
        }
        }
    if (a==b&&b==c){
        cout<<"TRIANGULO EQUILATERO";
    }
    if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&c!=a)){
        cout<<"TRIANGULO ISOSCELES";
    }
    return 0;
}

image
仍然过了:
image

标签:include,cout,int,double,namespace,顺序,pow,排序,只要
From: https://www.cnblogs.com/E-Sheep/p/16753762.html

相关文章

  • 快速排序-C语言实现
    快速排序排序思想1.选定Pivot中心轴2.将大于Pivot的数字放在Pivot的右边3.将小于Pivot的数字放在Pivot的左边4.分别对左右子序列(此时有左右2个子表),重复前三步操......
  • 静态初始化块的执行顺序
    单个类中初始化块、静态初始化块、构造器的执行顺序。无论怎么写,先执行第一个的是静态初始化块,第二个是初始化块,第三个是构造器,如果写了多个的时候从上往下执行,比如写了多......
  • 顺序栈的双端储存
    顺序栈的双端储存1.双端栈在栈的共享技术中最常用的是两个栈的共享技术即双端栈:主要利用了栈“栈底位置不变,而栈顶位置动态变化”的特性。首先为两个栈申请一个共享的一......
  • 排序的基本复杂度
      .排序算法时间复杂度稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中......
  • java---冒泡排序和稀疏数组的学习
    一.冒泡排序1.冒泡排序无疑是最为出名的排序算法,总共有8大排序2.冒泡代码相当简单,两层循环,两层冒泡轮数,里面依次比较3.我们看到的嵌套循环,应该立马就可以的出这个算法的......
  • 快速排序 Java代码展示
    我们快速排序的图解放在下面,有一些重复的动作就省略。java代码如下:/***@author:阿久*快速排序*/publicclassSnackOrder{publicstaticvoidmain(Str......
  • .NET实现堆排序
    堆排序及相关知识堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单......
  • (四)MySQL基础知识之union和排序
    继续连着昨天数据库的基本操作,今天看下MySQL的union功能和排序 union:UNION操作符用于连接两个以上的SELECT语句的结果组合到一个结果集合中。如果多个SELECT语句会......
  • 【JS】237-如何理解JavaScript中常用的4种排序算法?
    冒泡排序冒泡排序是我们在编程算法中,算是比较常用的排序算法之一,在学习阶段,也是最需要接触理解的算法,所以我们放在第一个来学习。算法介绍:比较相邻的两个元素,如果前一个比......
  • 栈之顺序栈
    栈之顺序栈1.栈的定义只允许在一端插入和删除的线性表允许插入和删除的一端称为栈顶(top)另一端称为栈底(bottom)当栈中没有元素称为空栈栈的插入操作称为入栈或......