输入一个正整数n(0<n<100)然后输入n个整数并存入数组,统计n个数中小于平

输入一个正整数n(0<n<100)然后输入n个整数并存入数组,统计n个数中小于平均数

参考
float a[10],sum,m;
int n;
sum=0;
scanf("%d",&n);//需要注意输入的n值要小于你定义的数组的长度
for(i=0;i<n;i++)
scanf("%f",&a[i]);
for(i=0;i<n;i++)
sum=sum+a[i];
m=sum/n;
printf("%.2f",m);//%.2f中的.2就可以控制输出数保留两位小数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-19
#include<stdio.h>
int main()
{
    int a[100];
    int i,n,sum=0;
    int b[100],num=0;//b存小于平均数的数,num存小于平均数的数的个数
    scanf("%d",&n);//读取n
    for(i=0;i<n;i++)
    scanf("%d",a+i),sum+=a[i];//循环读取n个数到数组,并求和
    for(i=0;i<n;i++)
        if(a[i]*n<sum)//把a[i]<sum/n改写成a[i]*n<sum,避免整除问题(用浮点会有精度问题)
            b[num++]=a[i];//存入b数组
    printf("%d\n",num);
    for(i=0;i<num;i++)
    printf("%d ",b[i]);
}

相似回答