515 中位数

中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数, 代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。 对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。 如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。 C语言教学班共有学生n人(教学班人数不超过500人),在单元测试中每个同学全力发挥考出了 不错的成绩,现在老师想要知道班级的平均分和班级分数的中位数。 具体操作如下: 1.先输入班级总人数n; 2.再输入班级n个同学的全部成绩; 3.计算平均分和中位数后输出;

input: 在第一行输入班级人数n; 在第二行输入n个成绩(学生成绩均为正整数)。 output: 输出平均分和中位数(输出结果保留两位小数)。

example: input: 6 80 70 95 75 62 90

output: 78.67 77.50

输入格式:

6 1 5 3 4 99 8

输出格式:

20.00 4.50

输入样例:

6
1 5 3 4 99 8

输出样例:

20.00 4.50

结尾无空行

输入样例:

7
1 5 3 4 99 8 95

输出样例:

30.71 5.00

结尾无空行

#include <stdio.h>
int main()
{
 int i,j,n,a[500],t;
 double ave,min,sum=0;
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
  scanf("%d",&a[i]);
 }
 for(i=0;i<n;i++)
 {
  sum+=a[i];
 } 
 for(i=0;i<n;i++)
 {
  for(j=1+i;j<n;j++)
  {
   if(a[i]>a[j])
   {
    t=a[i];
    a[i]=a[j];
    a[j]=t;
   }
  }
 }
 ave=sum/n*1.0;
 if(n%2==1)
 {
  min=a[n/2]*1.0;
  printf("%.2f %.2f",ave,min);
 }
 else if(n%2==0)
 {
  min=(a[(n+1)/2]+a[(n-1)/2])/2.0;
  printf("%.2f %.2f",ave,min);
 }
 return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值