数组应用: 找出一组数据中比均值大的数据并输出

简介: 数组与数组遍历; 判断; 循环
问题描述:

由键盘输入读取整型数据,数据数量不超过100个,当读取到数据-1时,停止读取数据,并计算这些数据的均值(不包含-1),将大于均值的数据输出。

问题分析:

给定了数据数量不超过100,若将每个输入数据分别赋值给变量(a1,a2,a3,a4,a5...)会比较繁琐,因此可用数组来存储读入的数据。因此需要累加和变量sum , 以及计数变量cnt , 最后由变量sumcnt 来求均值。遍历数组元素,输出大于均值的数据。

S1 : 初始化变量 `sum`、 `cnt` ,定义数组
S2 :    读取数据`x`: 
        当数据`x`不等于`-1`时: 
            执行`sum = sum + x`
            执行`cnt = cnt + 1`
            执行`读取数据`
        当数据`x` 等于 `-1` 时 : 
            终止,跳出循环体
S3 :计算均值: 
        计算均值
        遍历数组元素,判断数组元素和均值的大小关系
C代码:
#include <stdio.h>

int main()
{
    int x;
    double sum = 0;
    int cnt = 0;        //初始化计算变量 cnt  
    int number[100];    //定义数组 number ,包含 100个 元素  
    scanf("%d",&x);        //读取键盘数据输入  
    while ( x!=-1 ){    //当 停止读取数据标志 -1 未出现时,执行循环体 
        number[cnt]=x;    //索引为 cnt , 数组对应 元素值 为 x ;
        sum += x;
        cnt ++;
        scanf("%d", &x);
        
    }
    if ( cnt > 0 ) {    // 若第一个数据为 -1 ,则终止读取数据,while 循环体不执行,cnt = 0 ; 
        printf("%f\n", sum/cnt); 
    }
    int i;                //遍历数组;执行数组元素与均值大小判断
    for ( i=0; i<cnt; i++) {
        if (number[i]>sum/cnt){
          printf("%d\n",number[i]);    
        } 
                  
    }
    return 0;
}  
目录
相关文章
|
6月前
一个16位的数以4位为一组分割,然后将各部分相加获取最终结果。
一个16位的数以4位为一组分割,然后将各部分相加获取最终结果。
|
6月前
|
数据挖掘 计算机视觉 Python
Python实现对规整的二维列表中每个子列表对应的值求和
Python实现对规整的二维列表中每个子列表对应的值求和
52 0
下列给定程序中,函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放一组有规律的数据如下图所示,由main函数输出。
下列给定程序中,函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放一组有规律的数据如下图所示,由main函数输出。
242 0
|
11月前
|
算法 数据挖掘
一些连续离散化方法
一些连续离散化方法
140 0
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
算法训练Day27|39. 组合总和● 40.组合总和II● 131.分割回文串
|
C++
计算一个数组的子集
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
57 0
|
存储 Python
Python实现划分数组为连续数字的集合
Python实现划分数组为连续数字的集合
104 0
给定一个数值,计算最合适的行列数量的代码
给定一个数值,计算最合适的行列数量的代码
97 0
|
数据挖掘
一维数组实验题:计算平均数、中位数和众数 在调查数据分析(Survey data analysis)中经常需要计算平均数、中位数和众数。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平
一维数组实验题:计算平均数、中位数和众数 在调查数据分析(Survey data analysis)中经常需要计算平均数、中位数和众数。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平
190 0
|
开发工具
数组的子集能否累加出K
数组的子集能否累加出K
数组的子集能否累加出K