编写C程序1,参考下图程序内容,用函数实现以下功能

通过编程输入并存储一个班10名同学某门课程的成绩,然后实现下列要求:
(1)函数1:输入每名同学的成绩,计算全班10名同学的总分和平均分,并输出总分、平均分;
(2)函数2:输出每名同学的成绩;
(3)函数3:查找出最高分和最低分,并输出最高分、最低分;
(4)函数4:将10名同学的成绩从低到高排序,并输出成绩排序情况

在你之前的楼上就有一模一样的,现成代码:

img

#include <iostream>
#include <algorithm>
using namespace std;

void inputScores(int scores[], int n) {
    cout << "请输入" << n << "名同学的成绩:" << endl;
    for (int i = 0; i < n; i++) {
        cin >> scores[i];
    }
}

void outputScores(int scores[], int n) {
    cout << "10名同学的成绩为:" << endl;
    for (int i = 0; i < n; i++) {
        cout << scores[i] << " ";
    }
    cout << endl;
}

void calculateTotalAndAverage(int scores[], int n) {
    int total = 0;
    for (int i = 0; i < n; i++) {
        total += scores[i];
    }
    double average = (double) total / n;
    cout << "全班10名同学的总分为:" << total << endl;
    cout << "全班10名同学的平均分为:" << average << endl;
}

void findMaxAndMin(int scores[], int n) {
    int maxScore = *max_element(scores, scores + n);
    int minScore = *min_element(scores, scores + n);
    cout << "全班10名同学的最高分为:" << maxScore << endl;
    cout << "全班10名同学的最低分为:" << minScore << endl;
}

void sortScores(int scores[], int n) {
    sort(scores, scores + n);
    cout << "全班10名同学的成绩从低到高排序为:" << endl;
    for (int i = 0; i < n; i++) {
        cout << scores[i] << " ";
    }
    cout << endl;
}

int main() {
    int scores[10];
    inputScores(scores, 10);
    outputScores(scores, 10);
    calculateTotalAndAverage(scores, 10);
    findMaxAndMin(scores, 10);
    sortScores(scores, 10);
    return 0;
}


  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7648126
  • 这篇博客也不错, 你可以看下1.某停车场对3小时内的车最低收费7元。如果超过3小时,每个小时另外收3元,不到1小时,按照一小时计算。最高不超过30元。要求编写一个方法,根据停车的小时数计算需要交的费用。并在main方法中利用该方
  • 除此之外, 这篇博客: (C语言)(指针方法处理)输入十个整数, 将其中最小的数与第一个数对换,把最大的数与最后一个数对换,写三个函数:1.输入十个数; 2. 进行处理; 3. 输出10个数.中的 (指针方法处理)输入十个整数, 将其中最小的数与第一个数对换,把最大的数与最后一个数对换,写三个函数:1.输入十个数; 2. 进行处理; 3. 输出10个数. 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    void input(int* p) {
    	for (int i = 0; i < 10; ++i, ++p) {
    		printf("请输入第%d个数的值\n", i + 1);
    		scanf("%d", p);
    	}
    }
    void print(int* p) {
    	for (int i = 0; i < 10; ++i, ++p) {
    		printf("%d ", *p);
    	}
    	printf("\n");
    }
    void fun(int* q) {
    	int* p = q;
    	int* minp = p;
    	int* maxp = p;
    	int temp;
    	for (int i = 1; i < 10; ++i, ++p) {
    		if (*maxp < *p) {
    			maxp = p;
    		}
    		if (*minp > *p) {
    			minp = p;
    		}
    	}
    	temp = *maxp;
    	*maxp = *p;
    	*p = temp;
    
    	temp = *minp;
    	*minp = *q;
    	*q = temp;
    }
    void main() {
    	int arr[10];
    	int* p = arr;
    	input(p);
    	print(p);
    	fun(p);
    	print(p);
    	system("pause");
    }
    

    在这里插入图片描述

  • 以下回答由chatgpt基于相关博客总结生成:

    段落2: 请您帮我编写一个C程序,用函数实现以下功能:通过编程输入并存储一个班10名同学某门课程的成绩,接下来实现下列要求: (1)函数1:输入每名同学的成绩,计算全班10名同学的总分和平均分,并输出总分、平均分; (2)函数2:输出每名同学的成绩; (3)函数3:查找出最高分和最低分,并输出最高分、最低分; (4)函数4:将10名同学的成绩从低到高排序,并输出成绩排序情况 具体实现:

    #include<stdio.h>
    #include<stdlib.h>
    
    #define N 10
    
    void input(int* p) {//输入函数
        printf("请输入10名同学的成绩:\n");
        for (int i = 0; i < N; ++i, ++p) {
            scanf("%d", p);
        }
    }
    
    void print(int* p) {//输出每名同学成绩函数
        for (int i = 0; i < N; ++i, ++p) {
            printf("第%d名同学的成绩为:%d\n", i + 1, *p);
        }
    }
    
    void total(int* p) {//计算全班总成绩和平均成绩函数
        int sum = 0;
        float avg;
        for (int i = 0; i < N; ++i, ++p) {
            sum += *p;
        }
        avg = sum * 1.0 / N;
        printf("全班总成绩为:%d,平均成绩为:%.2f\n", sum, avg);
    }
    
    void maxmin(int* p) {//查找并输出最高分和最低分
        int max = *p, min = *p;//初始化最高分和最低分变量
        for (int i = 1; i < N; ++i, ++p) {
            if (max < *p) {//更新最高分变量
                max = *p;
            }
            if (min > *p) {//更新最低分变量
                min = *p;
            }
        }
        printf("最高分为:%d, 最低分为:%d\n", max, min);
    }
    
    void sort(int* p) {//将成绩从小到大排序
        int temp;
        for (int i = 0; i < N; ++i, ++p) {//选择排序
            for (int j = i + 1; j < N; ++j) {
                if (*(p + i) > *(p + j)) {//冒泡思想
                    temp = *(p + i);
                    *(p + i) = *(p + j);
                    *(p + j) = temp;
                }
            }
        }
    }
    
    void main() {
        int arr[N];
        int* p = arr;
        input(p);//输入学生成绩
        print(p);//输出每名同学成绩
        total(p);//计算全班总成绩和平均成绩
        maxmin(p);//查找最高分和最低分
        sort(p);//将成绩从小到大排序
        printf("排序后成绩为:\n");
        print(p);//输出排序后成绩
        system("pause");
    }