编写函数,求成绩数组中的平均成绩和低于平均成绩的人数 求用c++程序编写 不需要太复杂的

2024-11-05 02:18:16
推荐回答(1个)
回答(1):

#include
#include
#include
using namespace std;
class Mark{
public:
Mark(int n) :num(n), arr(new double[n]),allmark(0),lownum(0){ GetMark(); }
void ShowLow();
void ShowAver();
private:
int num;
double allmark;
double average;
int lownum;
double*arr;
void GetMark();
};
void Mark::GetMark(){
for (int i = 0; i < num; i++){
cout << "请输出第" << i + 1 << "个学生的成绩:";
cin >> arr[i];
allmark += arr[i];
}
average = allmark / num;
for (int i = 0; i < num; i++){
if (arr[i] < average)
lownum++;
}
}
void Mark::ShowAver(){
cout << "平均成绩为:" << setiosflags(ios::fixed) << setprecision(2) << average << endl;
}
void Mark::ShowLow(){
cout << "低于平均成绩的人数有" << lownum <<"人"<< endl;
}
int main(){
int num;
cout << "共要计算多少人的平均成绩?"< cin >> num;
Mark mark(num);
mark.ShowAver();
mark.ShowLow();
}