菜鸟请教老师:怎样对一组数据按出现次数多少进行排序

菜鸟请教老师:怎样对一组数据按出现次数多少进行排序
有下列一组数据:
A B C D E F
5 7 8 24 25 27
3 5 23 24 27 32
4 5 6 12 14 23
2 3 17 18 24 25
3 5 7 10 15 20
2 8 10 19 20 32
2 5 9 16 32 33
3 7 14 15 17 32
7 8 10 11 17 26
3 17 26 28 32 33
10 12 20 28 30 31
3 6 7 13 24 25
2 8 17 23 24 26
4 13 15 17 24 27
1 12 13 23 30 31
15 19 20 21 28 29
按这组数据中每个数出现的次数多少进行排序,并列出出现的次数.
统计结果应该如下所示:
排序:3 17 24 5 7 32 2 8 9 10 15 20 23 4 6 12 13 25 26 27 28 14 19 30 31 33 1 11 16 18 21 29
次数:6 6 6 5 5 5 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 2 2 2 2 2 1 1 1 1 1 1
fuzhouhua 1年前 已收到1个回答 举报

lq星轨 幼苗

共回答了16个问题采纳率:100% 举报

//1.整形排序(升序)
int cmp(const void*a,const void*b)
{
return *(int*)a-*(int*)b;
}
//2.字符型排序(升序)
int cmp(const void*a,const void*b)
{
return *(char*)a-*(char*)b;
}
//3.double型排序(升序)
int cmp(const void*a,const void*b)
{
return *(double*)a>*(double*)b?1:-1;
}
//4.结构体T{A}一级排序(升序)
int cmp(const void*a,const void*b)
{
return (*(T *)a)->A-(*(T *)b)->A;
}
//5.结构体T{A,B}二级排序//按照A从小到大,当X相等时,按B从小到大排序
int cmp(const void*a,const void*b)
{
T*c=(T*)a;
T*d=(T*)b;
if(c->A!=d->A)
return c->A-d->A;
else
return c->B-d->B;
}
//6.对字符串进行排序(升序)
struct In { int data; char str[100]; }s[100];
//按照结构体中字符串str的字典顺序排序
int cmp ( const void *a , const void *b )
{
return strcmp( (*(In *)a)->str , (*(In *)b)->str );
}
qsort(s,100,sizeof(s[0]),cmp);
//注:所有的函数调用形式均相似:qsort(数组名,元素个数,sizeof(、、),cmp);
你好、希望能帮到你哈!

1年前 追问

5

fuzhouhua 举报

老师,您用的是C语言还是公式?不好意思,我还是不会啊
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.026 s. - webmaster@yulucn.com