题目描述:
有10个学生,每个学生的数据包括学号、姓名、英语、数学、物理三门课的成绩,从键盘输入10个学生数据,要求打印出3门课程的总平均成绩,以及最高分的学生的数据(包括学号,姓名,3门课的平均成绩,平均分数)。
c++代码:
#include<iostream> #include<string> using namespace std; struct Student{//声明结构体Student string num; string name; float english; float match; float physics; float average; }; void shuchu(Student &s){//结构体内容输出的函数 cout<<s.num<<" "; cout<<s.name<<" "; cout<<s.english<<" "; cout<<s.match<<" "; cout<<s.physics<<" "; cout<<s.average<<endl; } int main(){ Student s[10];//声明结构体数组 cout<<"num name english match physics"<<endl; int i=0; for(;i<10;i++){//初始化结构统计数据 cin>>s[i].num; cin>>s[i].name; cin>>s[i].english; cin>>s[i].match; cin>>s[i].physics; s[i].average=(s[i].english+s[i].match+s[i].physics)/3; } float max=s[0].average; int k=1; cout<<"=============show data======="<<endl; for(i=0;i<10;i++){ shuchu(s[i]);//输出结构体的内容 if(s[i].average>max){//通过打擂台法获得平均分最高的数据 k=i; max=s[i].average; } } cout<<"The hightest:"<<endl; shuchu(s[k]);//输出最高分数据 cout<<endl; return 0; }