题解 | #统计成绩#
统计成绩
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; }