c++一维数组计算全班成绩

第一个程序。一维数组的使用。
1.定义一维数组存储整个班级学生的考试成绩;
2.遍历数组,输入成绩;
3.遍历数组,进行统计.统计出考试成绩的平均分、最高分、最低分。
4.输出结果。
(可考虑参考课本选择排序的例子,定义数组时用一个较大元素个数MaxN,在输入成绩时才确定实际的个数n。注意,本实验不需要排序)

参考,

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

#define MaxN 1000 // 最大学生人数

int getMaxScore(int a[], size_t n)
{
    int res = a[0];
    for (size_t i = 1; i < n; ++i) {
        res = max(res, a[i]);
    }
    return res;
}

int getMinScore(int a[], size_t n)
{
    int res = a[0];
    for (size_t i = 1; i < n; ++i) {
        res = min(res, a[i]);
    }
    return res;
}
double getAverageScore(int a[], size_t n)
{
    int sum = 0;
    for (size_t i = 0; i < n; ++i) {
        sum += a[i];
    }

    return ((double)sum) / n;
}

int main()
{
    int scores[MaxN] = { 0 }; // 存放某门课全班成绩
    int n; // 学生人数
    cin >> n;

    if (n <= 0) 
    {
        cerr << "invalid student number: " << n << endl;
        exit(1);
    }

    // 输入全班学生成绩
    int i = 0;
    int m = n;
    while (m-- > 0)
    {
        cin >> scores[i++];
    }

    int maxscore = getMaxScore(scores, i); // 最高分数
    int minscore = getMinScore(scores, i); // 最低分数
    double avgscore = getMinScore(scores, i); // 平均分

    cout << maxscore << endl;
    cout << minscore << endl;
    cout << fixed << setprecision(2) << avgscore << endl; // 保留2位小数点
    cout.unsetf(ios::fixed); // 取消已设格式定义

    return 0;
}
#include<stdio.h>
#define MaxN 100
void main()
{
int i,sum=0,max=0,min=100,c=[MaxN];
float ave;
for(i=0;i<MaxN;i++)
{
scanf("%d",&c[i]);
sum=sum+c[i];
if(c[i]>max)
max=c[i];
if(c[i]<min)
min=c[i];
}
ave=(float)sum/10;
printf(“平均分:%f,最高分:%d,最低分:%d\n”,ave,max,min);
}