日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中

發(fā)布時間:2024/3/12 编程问答 39 豆豆

Problem Description
給定一個由N個非負(fù)整數(shù)構(gòu)成的序列,我們來定義一下序列的中位數(shù),如果N是奇數(shù),在對序列排序后,中位數(shù)就是最中間的那個數(shù),即排序后,中位數(shù)的位置為(N+1)/2,這里序列的位置從1開始。如果N是偶數(shù),則中位數(shù)為排序后中間兩個數(shù)和的一半,即N/2和(N/2)+1處。但是需要注意的是原始序列可能是未排序的。
你的任務(wù)就是編程找出給定序列中的中位數(shù)。

Input
第一行只有一個整數(shù)N,表示序列的長度。接下來就是N個數(shù),每個數(shù)占一行,序列的長度范圍為1到250000。序列中的每個數(shù)都是不超過2^32 – 1(包括它)的正整數(shù)。

Output
輸出中位數(shù),保留小數(shù)點后一位。

Sample Input
4
3
6
4
5
Sample Output
4.5

#include <cstdio> #include <algorithm> using namespace std; const int N = 100; int num[N];int main(){int n;scanf("%d", &n);for(int i = 0; i < n; i++){scanf("%d", &num[i]);}sort(num, num + n);if(n % 2 == 0){if((num[n / 2] + num[n / 2 - 1]) % 2 == 0){printf("%.1f\n", (num[n / 2] + num[n / 2 - 1]) / 2.0);}else{printf("%.1f\n",(1.0*num[n/2]/1.0+num[n/2-1]/1.0)/ 2.0);}}else{printf("%.1f\n", num[n / 2]/1.0);}return 0; }

總結(jié)

以上是生活随笔為你收集整理的给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。