IDE:coeblocks
日期:2019/12/3
功能:
(1)找出总分最高的学生及各项成绩
(2)找出不及格的学生及各项成绩
(3)按总分升序并排序并输出
#include <iostream>
#include <cmath>
using namespace std;
void show_id(int a[][4],int row);
void show_max(int a[][4],int row);
void show_fail(int a[][4],int row);
void show_sum(int a[][4],int row);
void bubblesort(int arr[],int row);
int main(void)
{
int a[8][4]={ {2001,35,34},{2002,40,35},{2003,47,37},{2004,51,38},{2005,32,24},{2006,26,19},
{2007,38,36},{2008,42,35} },i;
for(i=0;i<8;i++)
a[i][3]=a[i][1]+a[i][2];
show_id(a,8);
show_max(a,8);
show_fail(a,8);
show_sum(a,8);
return 0;
}
void show_id(int a[][4],int row)
{
cout<<left<<"按学号升序列表:"<<endl;
cout<<"学号"<<'\t'<<"笔试"<<'\t'<<"机试"<<'\t'<<"总分"<<endl;
int arr[row],i,j;
for(i=0;i<row;i++)
{
arr[i]=a[i][0];
}
bubblesort(arr,row);
for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
if(a[j][0]==arr[i])
{
cout<<a[j][0]<<'\t'<<a[j][1]<<'\t'<<a[j][2]<<'\t'<<a[j][3]<<endl;
break;
}
}
}
}
void show_max(int a[][4],int row)
{
cout<<left<<"最高分学生情况:"<<endl;
cout<<"学号"<<'\t'<<"笔试"<<'\t'<<"机试"<<'\t'<<"总分"<<endl;
int arr[row],i,j;
for(i=0;i<row;i++)
{
arr[i]=a[i][3];
}
bubblesort(arr,row);
for(j=0;j<row;j++)
{
if(a[j][3]==arr[row-1])
{
cout<<a[j][0]<<'\t'<<a[j][1]<<'\t'<<a[j][2]<<'\t'<<a[j][3]<<endl;
break;
}
}
}
void show_fail(int a[][4],int row)
{
cout<<left<<"不及格学生情况:"<<endl;
cout<<"学号"<<'\t'<<"笔试"<<'\t'<<"机试"<<'\t'<<"总分"<<endl;
int arr[row],i,j;
for(i=0;i<row;i++)
{
if(a[i][3]<60)
{
for(j=0;j<row;j++)
{
if(a[j][3]==a[i][3])
{
cout<<a[j][0]<<'\t'<<a[j][1]<<'\t'<<a[j][2]<<'\t'<<a[j][3]<<endl;
break;
}
}
}
}
}
void show_sum(int a[][4],int row)
{
cout<<left<<"按总分升序列表:"<<endl;
cout<<"学号"<<'\t'<<"笔试"<<'\t'<<"机试"<<'\t'<<"总分"<<endl;
int arr[row],i,j;
for(i=0;i<row;i++)
{
arr[i]=a[i][3];
}
bubblesort(arr,row);
for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
if(a[j][3]==arr[i])
{
cout<<a[j][0]<<'\t'<<a[j][1]<<'\t'<<a[j][2]<<'\t'<<a[j][3]<<endl;
break;
}
}
}
}
void bubblesort(int arr[],int row)
{
for(int i=0;i<row-1;i++)
{
for(int j=0;j<row-i-1;j++)
{
if(arr[j]>arr[j+1])
{
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
}