#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;}
新手上路,可能写的有很多缺点 请各位大佬执指正
有10名学生 每个学生的数据要求包括学号 姓名。3门课的成成绩 从键盘输入10个学生数据 要求打印出3门课总平均成绩以及最高分学生的数据(包括学号 姓名 三门课成绩 平均分数)。C++。