1、题目

在[0,100]范围生成10个随机种子为824的学生成绩。请你设计子函数实现指针法统计低于均分的情况。

要求:

  • 1、使用子函数:void GetScore(int p, float avg, int* num) //p是指向原成绩数组的指针,avg存储均分,num指针存储低于均分人数。
  • 2、使用指针法处理数据在子函数中实现统计,不允许在子函数中输出
  • 3、主函数中输出,输出分三行:

    • 第一行输出原始成绩
    • 第二行输出均分及低于均分总个数
    • 第三行输出低于均分的成绩,保留一位小数

示例:

输出:2 78 1 8 43 57 52 54 9 69
           avg=37.3 num=4
           2 1 8 9

2、完整代码

#include<stdio.h>
#include<stdlib.h>

void GetScore(int* b, float* avg, int* num)
{
    int i;
    *num = 0;
    *avg = b[0];
    for (i = 0; i < 10; i++) {
        *avg += b[i];
    }
    *avg = *avg / 10;
    for (i = 0; i < 10; i++) {
        if (*avg >= b[i])
            *num += 1;
    }
}
void main()
{
    int a[10], num;
    float avg;
    //种子824
    srand(824);
    for (int i = 0; i < 10; i++)
    {
        // 0-100随机数
        a[i] = rand() % 101;
        printf("%d ", a[i]);
    }
    GetScore(a, &avg, &num);
    printf("\navg=%.1f num=%d\n", avg, num);
    for (int i = 0; i < 10; i++)
    {
        if (a[i] < avg)
            printf("%d ", a[i]);
    }
}

3、截图

在这里插入图片描述


土豆
17 声望5 粉丝