zoukankan      html  css  js  c++  java
  • 比较2

    题目:给你三个数,请你按绝对值从小到大排序,对于绝对值相同的,请再 按照值由小到大排序

    1.    
    2.                         #include<stdio.h>    
    3. #include<math.h>    
    1. void swap(int &x,int &y){      //重点在于swap 的运用
    2.      int t=x;x=y;y=t;    
    3.      }    
    4.     
    5.  int main(){    
    6.          int a[3];    
    7.          scanf("%d %d %d",&a[0],&a[1],&a[2]);     
    8.          for (int i=0;i<=2;++i){        //之所以用循环是为了减小代码量  类似于起泡法  a[0]与a[1],a[2]先比  然后 a[1 ]再与a[2]比
    9.              for (int j=i+1;j<=2;++j){                                掌握起泡法 一个个比较下去,起到排序作用
    10.                  if (fabs(a[j])<=fabs(a[i])){      
    11.                     if(fabs(a[j])==fabs(a[i])){    //在绝对值相等的情况下考虑 原值
    12.                        if (a[j]<a[i]) swap(a[i],a[j]);     
    13.                        }else swap(a[j],a[i]);    
    14.                        };    
      1. ///看似少了一个else ,其实没差 else所代表的条件就是我们所需要的排序  因为我们为的是排序 
    15.                        };    
    16.                        };    
    17.                        printf("%d %d %d",a[0],a[1],a[2]);     
    18.                        return 0;    
    19.                        }      

    本题在于寻找主次,先对绝对值大小排序很明显是主,如果出现绝对值大小相等这一特殊情况再讨论就是了

  • 相关阅读:
    php面试专题---2、常量及数据类型考点
    php面试专题---3、运算符考察点
    php面试专题---1、php中变量存储及引用的原理
    html中map标签和area标签的应用(总结)
    nginx中如何设置gzip(总结)
    PHP缓存技术OB系统函数(总结)
    Http协议面试题(总结)
    剑指offer 例题
    程序的模块化的一些见解6-读牛人代码之感
    oracle dblink造成远程数据库session过多
  • 原文地址:https://www.cnblogs.com/wshyj/p/5983246.html
Copyright © 2011-2022 走看看