黑马程序员技术交流社区

标题: 怎样按大小顺序排序? [打印本页]

作者: 二狗    时间: 2014-5-24 03:34
标题: 怎样按大小顺序排序?
本帖最后由 二狗 于 2014-5-26 14:36 编辑

比如a = 5 ,b= 6 , c = 8 ,d=6。
怎样通过C语言把这几个按数值的大小排序(数值相同按字母顺序),并且输出?
就是输出成
c = 8
b = 6
d = 6
a = 5
这样。

作者: 傘が咲く    时间: 2014-5-24 09:00
这个好说,定义一个数组存放字母,再定义一个数组存放字母出现的次数,按照字母出现的次数把两个数组降序排序,只说这么多,希望对你有启发!
作者: 葬花桥    时间: 2014-5-24 10:26
数组啊,再排序不就行了么
作者: 吉大人    时间: 2014-5-24 10:48
这个解决的办法很多,用冒泡排序和快速排序的方法可以解决
作者: S捭K阖Y    时间: 2014-5-24 20:37
上代码
int a = 5 ,b= 6 , c = 8 ,d=6 ;  //你说的那个个例子
int a[3];   //定义一个数组,用来存储你说的数
a[0]=a ;a[1]=b;a[2]=c;a[3]=d;  //分别存入数组
for (int i=0  ; i<3 ; i++)   //直接选择排序
for(int j=i  ; j<=i ; j++ )
if(a[i]>a[j]){    //数字大的那个值和数字小的交换位置
    int k = a[i];
    a[i]=a[j];
    a[j]=k;
};
for(int i=0;i<=3;i++) //输出元素
printf("%d",a[i]);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2