24小时热门版块排行榜    

查看: 1591  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

李三石

新虫 (小有名气)

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

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

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注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的回帖
查看全部 8 个回答

锐利的碎片

木虫 (正式写手)

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的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖


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