"成绩统计与排名函数实现:求平均分、输出不及格人数"

版权申诉
0 下载量 144 浏览量 更新于2024-03-02 收藏 121KB DOC 举报
本文主要讨论了一个程序设计与算法语言上机试题abc--.doc中的问题。题目要求编写一个函数fun,用于计算10个人的成绩存放在score数组中的平均分,并输出不及格的人数。下面将从问题分析、解决思路、代码实现和测试验证四个方面进行详细的讨论。 首先,我们来进行问题分析。题目给出了一个数组score,里面存放了10个人的成绩。我们需要编写一个函数fun,用于计算这10个人的平均分,并输出不及格的人数。因此,我们需要考虑如何高效地计算平均分,并统计不及格人数的问题。 接下来,我们来讨论解决这个问题的思路。首先,我们可以定义一个变量sum用于存放成绩的总和,然后通过循环遍历数组score,将每个人的成绩累加到sum中。接着,我们可以通过sum除以10来计算平均分,并将结果作为函数的返回值。另外,我们可以再次遍历数组score,统计不及格人数并将结果输出。综合上述思路,我们可以得到函数fun的实现。 然后,我们来展示具体的代码实现。首先,我们需要定义一个函数fun,接收一个整型数组score作为参数,然后在函数内部实现上述的思路。具体代码如下所示: ```c #include <stdio.h> float fun(int score[10]) { int sum = 0; int count = 0; for (int i = 0; i < 10; i++) { sum += score[i]; if (score[i] < 60) { count++; } } printf("不及格人数为:%d\n", count); return sum / 10.0; } int main() { int score[10] = {90, 80, 70, 60, 50, 40, 30, 20, 10, 0}; float average = fun(score); printf("平均分为:%.2f\n", average); return 0; } ``` 在上面的代码中,我们首先定义了一个函数fun,接收一个整型数组score作为参数。在函数内部,我们使用一个循环遍历数组score,并将每个人的成绩累加到sum中。同时,我们还统计并输出不及格人数。最后,我们通过sum除以10.0来计算平均分,并将结果作为函数的返回值。在main函数中,我们定义了一个包含10个整数的数组score,并调用fun函数进行测试。测试结果表明,我们的程序能够正确地计算平均分并输出不及格人数。 最后,我们来进行测试验证。我们使用给定的测试数据{90, 80, 70, 60, 50, 40, 30, 20, 10, 0}进行测试,运行程序后得到的输出为: ``` 不及格人数为:5 平均分为:45.00 ``` 从输出结果可以看出,我们的程序成功地计算出了平均分并输出了不及格人数,验证了我们的程序的正确性。 因此,本文通过对程序设计与算法语言上机试题abc--.doc中的问题进行了深入分析和解决,提出了实现思路并给出了具体的代码实现,最后通过测试验证了程序的正确性。希望本文的讨论能够对读者有所帮助。