首页 > 编程知识 正文

数位数c语言,c语言中按位异或

时间:2023-05-05 05:17:17 阅读:248698 作者:2389

Description

计算有限个数的数据的中位数的方法是:把所有的同类数据按照大小的顺序排列。如果数据的个数是奇数,则中间那个数据就是这群数据的中位数;如果数据的个数是偶数,则中间那2个数据的算术平均值就是这群数据的中位数。现在给出n个正整数,求他们的中位数。

 

Input

第一行:n —— 数列数字的个数(1 <=n<=1000)。

第二行:有n个正整数,每两个数中间用空格隔开(每一个正整数都小于10000)。

Output

求这N个正整数的中位数(保留小数点后两位有效数字)。

Sample Input

4
1 2 3 4
3
1 2 3  

Sample Output

2.50
 

2.00

 

题目链接:   http://ccpc.ahu.edu.cn:8080/OJ/Problem.aspx?id=734

AC代码:

#include <stdio.h> #include <stdlib.h> //递增 的快排算法int compInc(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main() { float k;//注意输出格式 int i,j,n,t; int a[1001]; int len ; while(scanf("%d ",&len)!=EOF){ //要注意输入的终止条件 for(i=0;i<len;i++) //输入 scanf("%d",&a[i]); // printf("递增排序结果:n"); qsort(a, len, sizeof(a[0]), compInc); if(len%2==0) { //奇偶取中位数的方法不一样 k=(a[(len/2)-1]+a[(len/2)]); printf("%.2fn",k/2.00); } else { k=a[len/2]; printf("%.2fn",k);//注意输出格式 } // break; } return 0; }
这个题目没什么特别的地方。

 

首先是排序,按照递增或递减都可以。

把排好序的数存放在一个数组中方便后面调用。

看存放在数组中的数的长度。取中间值(奇数直接取中间值,偶数用中间的两个数的平均值)

注意:数组是从 a[0] 还是从 a[1] 存放的。
 

 

见缝插针游戏的实现途径kubernetes-api-conventions

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。