題目描述:
有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<<"\t";
cout<<s.name<<"\t";
cout<<s.english<<"\t";
cout<<s.match<<"\t";
cout<<s.physics<<"\t";
cout<<s.average<<endl;
}
int main(){
Student s[10];//聲明結構體數組
cout<<"num\tname\tenglish\tmatch\tphysics"<<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;
}