#include<iostream>
using namespace std;
struct student
{
string ID; //定义学号
string name; //学生姓名
float score1, score2, score3;//三个科目分数
};
int main()
{
int i;
struct student stu[10];//定义10个学生的结构体数组
for (int i = 0; i < 10; i++)//循环输入学生信息
{
cout << "请输入第" << i+1 << "位学生学号:";
cin >> stu[i].ID;
cout << "请输入第" << i+1 << "位学生姓名:";
cin >> stu[i].name;
cout << "请输入第" << i+1 << "位学生三门课成绩(用空格区分):";
cin >> stu[i].score1 >> stu[i].score2 >> stu[i].score3;
}
for (int i = 0; i < 10; i++)//循环输出
{
cout <<"学号:" << stu[i].ID << endl;
cout <<"姓名:" << stu[i].name << endl;
cout << "各科成绩为:" << stu[i].score1 <<" " << stu[i].score2 <<" " << stu[i].score3 << endl;
cout <<"平均成绩为" << (stu[i].score1 + stu[i].score2 + stu[i].score3) * 1.0 / 3.0 << endl;
}
int max = stu[0].score1 + stu[0].score2 + stu[0].score3;//定义一个最大值 便于后边进行循环的比较
int num=1;
for (i = 1; i < 10; i++)//求出平均成绩最高的学生
{
if (stu[i].score1 + stu[i].score2 + stu[i].score3 > max)
{
max = stu[i].score1 + stu[i].score2 + stu[i].score3;
num++;//用于求出成绩最高学生的学号
}
}
cout << "成绩最高的学生的数据:" << endl;
cout << "学号:" << stu[num].ID << endl;
cout << "姓名:" << stu[num].name << endl;
cout << "各科成绩为:" << stu[num].score1 << " " << stu[num].score2 << " " << stu[num].score3 << endl;
cout << "平均成绩为" << max/3.0 << endl;
int sum1 = 0;
int sum2 = 0;
int sum3 = 0;
for (i = 0; i < 10; i++)//求各科目的总平均成绩
{
sum1 += stu[i].score1;
sum2 += stu[i].score2;
sum3 += stu[i].score3;
}
cout << "科目一平均分为" << sum1 / 3.0<<endl;
cout << "科目二平均分为" << sum2 / 3.0<<endl;
cout << "科目三平均分为" << sum3 / 3.0<<endl;
return 0;
}
新手上路,可能写的有很多缺点 请各位大佬执指正