1 /*采用动态分配方法设计一个学生处理程序,要求输入任意数量学生的学号、姓名和四门课的成绩,并按平均成绩高低输出每个学生的姓名和成绩*/
2 #include<iostream>
3 using namespace std;
4 int main()
5 {
6 int size=0;
7 cout<<"请输入学生数目:";
8 cin>>size;
9 int *no=new int[size];
10 char *na=new char[size];
11 float *ave=new float[size];
12 float a,b,c,d;
13 for(int i=0;i<size;i++)
14 {
15 cout<<"学生"<<i+1<<"的信息:";
16 cin>>*(no+i)>>*(na+i)>>a>>b>>c>>d;
17 *(ave+i)=(a+b+c+d)/4.0;
18 }
19 for(int i=0;i<size;i++){ //冒泡排序
20
21 for(int j=0;j<size-i-1;j++)
22 {
23 if(*(ave+j)<*(ave+j+1))
24 {
25 float temp1;
26 char temp2;
27 temp1=*(ave+j);
28 *(ave+j)=*(ave+j+1);
29 *(ave+j+1)=temp1;
30 temp2=*(na+j);
31 *(na+j)=*(na+j+1);
32 *(na+j+1)=temp2;
33 }
34 }
35 }
36 for(int i=0;i<size;i++)
37 {
38 cout<<"第"<<i+1<<"名是:"<<*(na+i)<<" "<<*(ave+i)<<endl;
39 }
40 delete []no;
41 delete []na;
42 delete []ave;
43 return 0;
44 }