24小时热门版块排行榜    

查看: 1589  |  回复: 7

李三石

新虫 (小有名气)

[求助] 求高手指点c语言中求中值的程序

哪位高手会编求一组数中值的程序,这个程序的目的是将一组数平均分成两组比中值大的和比中值小的数目相等。比如1  2 4 5 的中值可以取2和4之间的一个数,这样就把这组数分成了两组,比3 大的和比3小的都有两个数。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty(金币+1): 欢迎常来程序语言 2012-03-10 16:29:24
直接qsort排序就行了。
2楼2012-03-10 14:32:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg(金币+1): 感谢应助 2012-03-11 01:51:12
直接排序,然后找到中间那个,如果总个数为奇数,咋弄,总个数为偶数咋弄.....ok??!!!
3楼2012-03-10 17:49:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
jjdg(金币+2): 感谢应助 2012-03-11 01:51:22
李三石(金币+100): ★★★很有帮助, 程序挺好的,就是有一个错误。能不能帮忙改一下。 2012-03-12 21:52:11
CODE:
#include
#include

void mval(const int *x, const int n);
int comp(const void *a, const void *b);

int main()
{
    int i;
    int x[10];
    srand(time(NULL));
    for (i=0; i<10; i++)
        x[i] = rand()%10;
    mval(x, 10);

    return 0;
}

void mval(const int *x, const int n)
{
    int i;
    qsort((void*)x, n, sizeof(int), comp);
    for (i=0; i         printf("%d ", x[i]);
    printf("\n");
    printf("Mid-val is : %d", (x[n/2]+x[(n+1)/2])/2);
}

int comp(const void *a, const void *b)
{
    return (*(int*)a - *(int*)b);
}

差不多这样,我没检查
4楼2012-03-10 17:54:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg(金币+1): 感谢应助 2012-03-11 01:51:28
很女子很弓虽大
5楼2012-03-10 23:04:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李三石

新虫 (小有名气)

引用回帖:
: Originally posted by 锐利的碎片 at 2012-03-10 17:54:44:
#include <stdio.h>
#include <stdlib.h>

void mval(const int *x, const int n);
int comp(const void *a, const void *b);

int main()
{
    int i;
    int x;
    srand(time(NULL ...

谢谢给出的程序,我的c语言不太好。还请问一下如果数据非常多时,是不是就不用考虑奇偶数的情况了。还请帮忙指点一下。
6楼2012-03-11 19:59:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李三石

新虫 (小有名气)

引用回帖:
: Originally posted by lurencyj at 2012-03-10 23:04:07:
qsort确实很方便。

参见:http://www.cplusplus.com/reference/clibrary/cstdlib/qsort/

谢谢给出的建议。我的c语言不太好,不太会编程。希望以后多学学。
7楼2012-03-11 20:02:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李三石

新虫 (小有名气)

引用回帖:
: Originally posted by lijie169 at 2012-03-10 17:49:53:
直接排序,然后找到中间那个,如果总个数为奇数,咋弄,总个数为偶数咋弄.....ok??!!!

谢谢你的提醒。希望高手指点一下
8楼2012-03-11 20:03:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 李三石 的主题更新
信息提示
请填处理意见