第3章-1 大于身高的平均值 (10 分)

本文介绍了一个程序,用于分析班级体检数据,找出每位学生的身高是否超过平均值,并按输入顺序输出这些身高。输入身高数据,程序会计算并显示高于平均身高的数值。

中小学生每个学期都要体检,要量身高,因为身高可以反映孩子的生长状况。现在,一个班的身高已经量好了,请输出其中超过平均身高的那些身高。程序的输入为一行数据,其中以空格分隔,每个数据都是一个正整数。程序要输出那些超过输入的正整数的平均数的输入值,每个数后面有一个空格,输出的顺序和输入的相同。

输入格式:

在一行输入中一个班的身高值,以空格分隔。

输出格式:

在一行输出超过输入的平均数的输入值,以空格分隔。

输入样例:

在这里给出一组输入。例如:

143 174 119 127 117 164 110 128

输出样例:

在这里给出相应的输出。例如:

143 174 164

代码如下:

list=input().split(' ')	#创建一个身高的列表
sum=0
for i in range(len(list)):
    sum+=int(list[i])	#将身高求和
average=sum/len(list)	#取得平均身高
for i in range(len(list)):	#遍历列表找出大于身高的元素
    if int(list[i]) > average:
        print('{} '.format(list[i]),end='')
print()
#include<stdio.h> #include<math.h> void bubbleSort(int a[], int n){ int i, j, hold; for(i=1; i<n; i++) { for(j=0; j<n-i; j++){ if(a[j] > a[j+1]){ hold = a[j]; a[j] = a[j+1]; a[j+1] = hold; }}}} int arr[10001]; int main(){ int T; float m; scanf("%d %f",&T,&m); for(int i=1;i<=T;i++){ scanf("%d",&arr[i]); } bubbleSort(arr,T); float np=T*m*1.0; int k=0; for(int j=1;arr[j]<=np&&j<=T;j++){ k=j; } if(np/1*1.0==np){ printf("%.1f",arr[k]*0.5+arr[k+1]*0.5); }else{ printf("%.1f",arr[k]*1.0); } return 0; } 为什么这串代码不符合题意: 题目描述 相信你一定还记得 《小天才的平均身高计算》 吧,在认识了所有的同学后小天才决定更深一步地了解班级同学身高的数字特征。 现在先来回忆一下你高中可能就没弄明白的 p 位数。 定义 设有容量为 n 的样本观测值 x1,x2,⋯,xn ,样本的 p 位数记为 xp , 它具有以下的性质: 1) 至少有 np 个观察值小于获等于 xp . 2) 至少有 n(1−p) 个观察值大于获等于 xp . 具体来说样本的 p 位数可按以下方法求得。 将 x1,x2,⋯,xn 按自小到大的顺序排列成 x(1)≤x(2)≤⋯≤x(n) xp=⎧⎩⎨x([np]+1),12[x(np)+x(np+1)],np∉Nnp∈N 其中 [np] ,对 np 向下取整。 现在,小天才将统计班上每位同学的身高,希望你帮她计算班级同学身高这组数据的 p 位数。 输入 第一行一个整数 n 表示班级同学的数,一个小数 p ,保证 1≤n≤104,0<p<1 . 第二行 n 个整数 xi ,别表示第 i 个同学的身高,保证 1≤xi≤1000 输出 一行一个一位小数 xp ,保留到小数点后一位,表示班级同学身高的 p 位数 输入样例 10 0.5 1 2 3 4 5 6 7 8 9 10 输出样例 5.5
最新发布
10-31
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值