#include<iostream>
#define n 5
using namespace std ;
typedef struct student {
string num ;
string name ;
float sub1 ;
float sub2 ;
float sub3 ;
float avg ;
} STU ;
int main()
{
STU stu[n] ;
STU end[n] ;
float avgSub1 = 0 , avgSub2 = 0 , avgSub3 = 0 ;
cout << "学号\t姓名\tsub1\tsub2\tsub3" << endl ;
for( int i = 0 ; i < n ; i ++ )
{
cin >> stu[i].num >> stu[i].name >> stu[i].sub1 >> stu[i].sub2 >> stu[i].sub3 ;
stu[i].avg = ( stu[i].sub1 + stu[i].sub2 + stu[i].sub3 ) / 3 ;
avgSub1 += stu[i].sub1 ;
avgSub2 += stu[i].sub2 ;
avgSub3 += stu[i].sub3 ;
}
avgSub1 /= n ;
avgSub2 /= n ;
avgSub3 /= n ;
cout << "课程平均成绩" << endl ;
cout << "————————————" << endl ;
cout << "avgSub1:" << avgSub1 << endl ;
cout << "avgSub2:" << avgSub2 << endl ;
cout << "avgSub3:" << avgSub3 << endl ;
cout << "————————————" << endl ;
cout << "学生平均成绩:" << endl ;
for( int i = 0 ; i < n ; i ++ )
cout << "学生:" << stu[i].name << ",平均成绩:" << stu[i].avg << endl ;
for( int i = 0 ; i < n ; i ++ )
for( int j = i + 1 ; j < n ; j ++ )
{
if( stu[i].avg > stu[j].avg )
{
swap( stu[i].avg , stu[j].avg ) ;
swap( stu[i].name , stu[j].name ) ;
swap( stu[i].num , stu[j].num ) ;
swap( stu[i].sub1 , stu[j].sub1 );
swap( stu[i].sub2 , stu[j].sub2 );
swap( stu[i].sub3 , stu[j].sub3 );
}
}
cout << "————————排序后————————" << endl ;
for( int i = 0 ; i < n ; i ++ )
cout << "学生:" << stu[i].name << "平均成绩:" << stu[i].avg << endl ;
return 0 ;
}
C++例题
最新推荐文章于 2024-03-06 14:02:16 发布