分数统计:
#include"iostream.h"
#include"string.h"
class student //定义一个学生的类
{
public:
void set_information();
char* getname()
{
return name;
}
float getscore()
{
return score;
}
void setscore(float s)
{
score=s;
}
void setname(char a[])
{
strcpy(name,a);
}
private:
char name[20];
float score;
};
void student::set_information()
{
cout<<"姓名:";
cin>>name;
cout<<" 分数:";
cin>>score;
cout<<endl;
}
void main()
{
int i,j,k;float temp;char c[20];
student stud[100]; //用一个足够大的空间
cout<<"请输入班级学生的人数: ";
cin>>j;cout<<endl;
for(i=0;i<j;i++)
{
cout<<"请输入第"<<i+1<<" 学生的";
stud[i].set_information();
}
//下面是用冒泡排序法对学生的分数由大到小排序
for(k=0;k<j;k++)
for(i=0;i<j-k;i++)
if(stud[i].getscore()<stud[i+1].getscore())
{
temp=stud[i].getscore();
stud[i].setscore(stud[i+1].getscore());
stud[i+1].setscore(temp);
strcpy(c,stud[i].getname());
stud[i].setname(stud[i+1].getname());
stud[i+1].setname(c);
}
cout<<"按分数的降幂排列后的输出序列是: "<<endl;
for(i=0;i<j;i++)
{
cout<<"第"<<i+1<<" 学生的";
cout<<"姓名:"<<stud[i].getname()<<endl;
cout<<" 分数:"<<stud[i].getscore()<<endl;
}
cout<<endl;
}
做的不好请笑纳!