C++编写一个程序,该程序提示用户输入学生姓名和分数。(假定每个班级最多30个学生.)输出以下部分数据
答案:1 悬赏:0
解决时间 2021-02-10 06:47
- 提问者网友:但未伤到心
- 2021-02-09 10:28
C++编写一个程序,该程序提示用户输入学生姓名和分数。(假定每个班级最多30个学生.)输出以下部分数据
最佳答案
- 二级知识专家网友:猖狂的痴情人
- 2021-02-09 11:15
#include<iostream>
using namespace std;
struct info {
float mark;
string name;
};
void input(info a[], int num) {
for(int i = 1; i <= num; i++) {
cout << "please input mark: ";
cin >> a[i].mark;
cout << "please input name: ";
cin >> a[i].name;
}
}
float getAver(info a[], int num) {
double sum = 0;
for(int i = 1; i <= num; i++) {
sum += a[i].mark;
}
cout << "average is : " << sum/num << endl;
return sum/num;
}
void bAver(info a[], int aver, int num) {
cout << "inferior persons: " << endl;
for(int i = 1; i <= num; i++) {
if(a[i].mark < aver) {
cout << a[i].name << " ";
}
}
cout << endl;
}
void top(info a[], int num) {
int loc = 1;//最高分学生的姓名的位置
for(int i = 2; i <= num; i++) {
if(a[loc].mark < a[i].mark) {
loc = i;
}
}
cout << "最高分以及最高分学生的姓名: " << endl;
cout << a[loc].name << ": " << a[loc].mark << endl;
}
int main() {
info a[31];
int num;//学生数
cin >> num;
input(a, num);
float aver = getAver(a, num);//输出平均分
bAver(a, aver, num);//输出考试分数低于班级平均分的学生的姓名
top(a, num);//输出最高分以及最高分学生的姓名
system("pause");
return 0;
}
using namespace std;
struct info {
float mark;
string name;
};
void input(info a[], int num) {
for(int i = 1; i <= num; i++) {
cout << "please input mark: ";
cin >> a[i].mark;
cout << "please input name: ";
cin >> a[i].name;
}
}
float getAver(info a[], int num) {
double sum = 0;
for(int i = 1; i <= num; i++) {
sum += a[i].mark;
}
cout << "average is : " << sum/num << endl;
return sum/num;
}
void bAver(info a[], int aver, int num) {
cout << "inferior persons: " << endl;
for(int i = 1; i <= num; i++) {
if(a[i].mark < aver) {
cout << a[i].name << " ";
}
}
cout << endl;
}
void top(info a[], int num) {
int loc = 1;//最高分学生的姓名的位置
for(int i = 2; i <= num; i++) {
if(a[loc].mark < a[i].mark) {
loc = i;
}
}
cout << "最高分以及最高分学生的姓名: " << endl;
cout << a[loc].name << ": " << a[loc].mark << endl;
}
int main() {
info a[31];
int num;//学生数
cin >> num;
input(a, num);
float aver = getAver(a, num);//输出平均分
bAver(a, aver, num);//输出考试分数低于班级平均分的学生的姓名
top(a, num);//输出最高分以及最高分学生的姓名
system("pause");
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |