美文网首页
C语言中将三个数字进行排序的几种写法

C语言中将三个数字进行排序的几种写法

作者: 茶新味_fc3a | 来源:发表于2018-03-16 10:54 被阅读0次

网上关于这一问题的写法其实很多,但是很多方法不具有实际的应用价值(比如单纯使用if和else语句写出六种可能做判别),当然这也不失为一种思路,这里仅罗列出三种具有代表性的处理方法(三目运算法、IF比较法、和IF比较的指针写法)

//if语句依次比较大小排序  
#include <stdio.h>  
int compare(int x,int y,int z)  
{  
    int t=0;  
    if(x<y)  
    {  
        t=x;x=y;y=t;  
    }  
    if(y<z)  
    {  
        t=y;y=z;z=t;  
    }  
    if(x<y)  
    {  
        t=x;x=y;y=t;  
    }  
    printf("the number from big to small is\n %d %d %d \n",x,y,z);  
}  
  
int main()  
{  
    int a,b,c;  
    printf("please input three numbers \n");  
    scanf("%d %d %d",&a,&b,&c);  
    compare(a,b,c);  
    return 0;  
}  
//三目运算比大小  
#include <stdio.h>  
  
int max(int x,int y,int z)  
{  
    int max=0;  
    max=x>y?x:y;  
    max=max>z?max:z;  
    return max;  
}  
  
int smaller(int x,int y,int z)  
{  
    int smaller=0;  
    smaller=x<y?x:y;  
    smaller=smaller<z?smaller:z;  
    return smaller;  
}  
  
int middle(int x,int y,int z)  
{  
    int middle=0;  
    middle=x+y+z-smaller(x,y,z)-max(x,y,z);  
    return middle;  
}  
  
int main()  
{  
    int a,b,c;  
    printf("please input three numbers \n");  
    scanf("%d %d %d",&a,&b,&c);  
    printf("the number from max to small is %d %d %d \n",max(a,b,c),middle(a,b,c),smaller(a,b,c));  
    return 0;  
}  
#include <stdio.h>  
int compare(intint *x,intint *y,intint *z)  
{  
    int t;  
    if(*x<*y)  
    {  
        t=*x;*x=*y;*y=t;  
    }  
    if(*y<*z)  
    {  
        t=*y;*y=*z;*z=t;  
    }  
    if(*x<*y)  
    {  
        t=*x;*x=*y;*y=t;  
    }  
    printf("the number from big to small is\n%d %d %d \n",*x,*y,*z);  
}  
  
  
int main()  
{  
    int a,b,c;  
    printf("please input three numbers \n");  
    scanf("%d %d %d",&a,&b,&c);  
    compare(&a,&b,&c);  
    return 0;  
}  

相关文章

  • C语言中将三个数字进行排序的几种写法

    网上关于这一问题的写法其实很多,但是很多方法不具有实际的应用价值(比如单纯使用if和else语句写出六种可能做判别...

  • “学习,是一种升级”文集目录

    一、C语言 C语言学习:链表的概念和其简单操作 C语言学习:关于数据的几种排序算法 C语言项目:学生信息管理系统 ...

  • 读入一行数据

    如果要输入一串数字,以空格为分隔,以换行为结束,然后对数字进行排序等操作。最简单的办法就是用C语言分别存int和c...

  • 排序

    本文主要介绍排序的几种实现,简单计算一下复杂度。 冒泡排序 插入排序 由N-1趟排序组成C语言代码实现: 插入排序...

  • C++ 常用编程--Swap函数有几种写法?

    C++ 常用编程--Swap函数有几种写法? 在说C++模板的方法前,我们先想想C语言里面是怎么做交换的。 举个例...

  • 求一个数组中第二大的数

    OC写法 C++语言写法

  • 排序算法

    均为C语言实现 操作对象均为一维int型数组 逆序 选择排序 冒泡排序 另一种写法 插入排序 原地插入排序 二分法

  • C语言中的指针与数组

    C语言中的指针与数组 @(C语言)[排序算法, 快速排序, C实现] 引言 相信指针与数组是不少同学在初学C语言时...

  • 19_全排列递归算法

    要求:例如,对{a,b,c}进行全排序,有abc、acb、bac、bca、cba、cab这几种情况。思路:递归思想...

  • c语言排序算法

    c语言排序算法

网友评论

      本文标题:C语言中将三个数字进行排序的几种写法

      本文链接:https://www.haomeiwen.com/subject/yuelqftx.html