学生排行.txt

来自「最后声明」· 文本 代码 · 共 79 行

TXT
79
字号
#include<iostream>
using namespace std;
class student
{
public:
friend class students;
private:
int id,mark;
};
class students
{
public:
    void input(int n,int j,int k);
    void rebuild(int n);
private:
student a[1000];
int tempmark;
int tempid;
student b[1000];
};
void students::rebuild(int n)
{
for(int z=0;z<n;z++)
{
   b[z].id=a[z].id;
   b[z].mark=a[z].mark;
}
for(int g=0;g<n;g++)
{
for(int i=0;i<n;i++)
{
    if (a[i].mark<a[i+1].mark)
{tempmark=a[i].mark;
a[i].mark=a[i+1].mark;
a[i+1].mark=tempmark;
tempid=a[i].id;
a[i].id=a[i+1].id;
a[i+1].id=tempid;
}
}
}
cout<<"学生原始记录为:"<<endl;
for(int k=0;k<n;k++)
{
   cout<<"学号: "<<b[k].id<<" 成绩: "<<b[k].mark<<endl;
}
cout<<"学生排序后记录为:"<<endl;
for(int h=0;h<n;h++)
{
   cout<<"学号: "<<a[h].id<<" 成绩: "<<a[h].mark<<endl;
}
}
void students::input(int n,int j,int k)
{
a[n].id=j;
a[n].mark=k;
}
int main()
{
int n;
cout<<"输入班上学生的人数:";
cin>>n;
students table;
struct 
{
   int mark;
   int id;
} d[1000];
for(int e=0;e<n;e++)
{
   cout<<"输入第"<<e+1<<"个学生的学号:";
   cin>>d[e].id;
   cout<<"输入成绩:";
   cin>>d[e].mark;
   int x=d[e].id;int y=d[e].mark;
        table.input(e,x,y);
}
table.rebuild(n);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?