| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:那位牛人,用qsort()搞定,进来帮我看下哈!搞不明白哪有错啊?In Reply To:那位牛人,用qsort()搞定,进来帮我看下哈!搞不明白哪有错啊? Posted by:woshiniya at 2007-03-18 22:08:13 > #include <iostream>
> #include <iomanip>
> #include <algorithm>
> using namespace std;
> int cmp(const void *a, const void *b) {
> if(*(unsigned int*)a>*(unsigned int*)b)
> return 1;
> else if(*(unsigned int*)a==*(unsigned int*)b) //还是看别人的后,加的,原因不明
>
> return 0;
> return -1;
>
> }
>
> void main() {
> int size, i;
> unsigned int *nm;
> float ans;
> scanf("%d", &size);
> nm = new unsigned int[size];
> for(i = 0; i < size; i++)
> scanf("%d", &nm[i]);
> qsort(nm, size, sizeof(nm), cmp);
> if(size % 2 == 0)
> ans = (nm[size/2-1] + nm[size/2]) / 2.0;
> else
> ans = nm[(size-1)/2];
> printf("%.1f\n", ans);
> delete[]nm;
> }
>
>
> unsigned int 装不下2^32-1吧,试试用unsigned long看看.... by 新手
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator