程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 一道超經典的C++結構體的題目

一道超經典的C++結構體的題目

編輯:C語言基礎知識
題目描述:
有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;
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved