|
10鱼币
哪个大佬能帮我一下?
编写一程序实现以下功能: 分别定义以下函数:(1)读入班级成绩,输入某班学生某门课的成绩(最多不超过30人),当输入为负数时,提示输入结束。(2)求平均成绩的函数,函数返回值返回平均成绩,(4)编写函数统计成绩低于平均分的学生人数的百分比,并返回 ,(4)主函数中通过调用以上函数求解成绩低于平均分的学生人数的百分比。
C 代码:- #include <stdio.h>
- int student[30], n = 0;
- /*读入班级成绩,输入某班学生某门课的成绩,当输入为负数时,提示输入结束。*/
- void input(){
- while(1){
- int x;
- scanf("%d", &x);
- if(x > 0) student[n++] = x;
- else break;
- }
- }
- /*求平均成绩的函数,函数返回值返回平均成绩*/
- float average(int arr[], int n){
- int res = 0;
- for(size_t i = 0; i < n; i++){
- res += arr[i];
- }
- return (float)res/n;
- }
- /*编写函数统计成绩低于平均分的学生人数的百分比,并返回 */
- float fail_ratio(int arr[], int n, float score){
- int res = 0;
- for(size_t i = 0; i < n; i++){
- if(arr[i] < score){
- res++;
- }
- }
- return ((float)res/n)*100;
- }
- int main()
- {
- input(); // 调用函数
- printf("成绩低于平均分的学生人数的百分比:%.2f%%", fail_ratio(student, n, average(student, n))); // 调用函数
- return 0;
- }
复制代码 C++ 代码:- #include <iostream>
- #include <iomanip>
- int student[30], n = 0;
- /*读入班级成绩,输入某班学生某门课的成绩,当输入为负数时,提示输入结束。*/
- void input(){
- while(1){
- int x;
- std::cin >> x;
- if(x > 0) student[n++] = x;
- else break;
- }
- }
- /*求平均成绩的函数,函数返回值返回平均成绩*/
- float average(int arr[], int n){
- int res = 0;
- for(size_t i = 0; i < n; i++){
- res += arr[i];
- }
- return (float)res/n;
- }
- /*编写函数统计成绩低于平均分的学生人数的百分比,并返回 */
- float fail_ratio(int arr[], int n, float score){
- int res = 0;
- for(size_t i = 0; i < n; i++){
- if(arr[i] < score){
- res++;
- }
- }
- return ((float)res/n)*100;
- }
- int main()
- {
- input(); // 调用函数
- std::cout << "成绩低于平均分的学生人数的百分比:" << std::setprecision(4) << fail_ratio(student, n, average(student, n)) << "%" << std::endl; // 调用函数
- return 0;
- }
复制代码 Python 代码:- student = []
- def inputVal():
- global student
- for i in range(30):
- x = int(input())
- if x > 0: student.append(x)
- else: break
- average = lambda arr: sum(arr)/len(arr) if len(arr) else 0
- fail_ratio = lambda arr, score: (len([i for i in arr if i < score])/len(arr))*100 if len(arr) else 0
- if __name__ == "__main__":
- inputVal()
- print(f"成绩低于平均分的学生人数的百分比:{fail_ratio(student, average(student)):.2f}%")
复制代码
|
|