A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 二狗 中级黑马   /  2014-5-24 03:34  /  2218 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 二狗 于 2014-5-26 14:36 编辑

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

4 个回复

倒序浏览
这个好说,定义一个数组存放字母,再定义一个数组存放字母出现的次数,按照字母出现的次数把两个数组降序排序,只说这么多,希望对你有启发!
回复 使用道具 举报
数组啊,再排序不就行了么
回复 使用道具 举报
这个解决的办法很多,用冒泡排序和快速排序的方法可以解决
回复 使用道具 举报
上代码
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]);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马