题解 | #统计成绩#

统计成绩

https://www.nowcoder.com/practice/cad8d946adf64ab3b17a555d68dc0bba

#include <stdio.h>
#include <malloc.h>		// 动态内存分配头文件

int main() {
    int num;
    scanf("%d", &num);
// 在 str 指针内动态分配 num 个 float 大小的内存
    float* str = (float*)calloc(sizeof(float), num);
  // 通过遍历将成绩输入到动态分配出来的内存中
    for(int i = 0; i < num; i++)
    {
        scanf("%f", &str[i]);
    }

    float max = 0;
    float min = 101;
    float ping = 0;
// 通过三目运算符找出最大值和最小值
    for(int i = 0; i < num; i++)
    {
        max = max > str[i] ? max : str[i];
        min = min < str[i] ? min : str[i];
        ping += str[i];
    }
// 输出
    printf("%.2f %.2f %.2f", max, min, ping / num);
// 将动态分配的内存释放掉,否则会内存泄漏
    free(str);

    return 0;
}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务