2017河南计算机等级二级C++程序解析4
联系方式:0371-58535525
微信:15736910217
QQ:2424198917
有一个学生类student,包括学生姓名、成绩,设计一个友元函数,比较两个学生成绩的高低,并求出最高分和最低分的学生。
解:
#include
#include
class student
{
char name[10];
int deg;
public:
student(char na[],int d)
{
strcpy(name,na);
deg=d;
}
char *getname(){ return name;}
friend int compare(student &s1,student &s2)
{
if(s1.deg>s2.deg)
return 1;
else if(s1.deg==s2.deg)
return 0;
else return -1;
}
};
void main()
{
student st[]={student("王华",78),student("李明",92),student("张伟",62),student("孙强",88)};
int i,min=0,max=0; 来源:www.examda.com
for(i=1;i<4;i++)
{
if(compare(st[max],st[i])==-1)
max=i;
else if(compare(st[i],st[min])==1)
min=i;
}
cout<<"输出结果:"<<ENDL;
cout<<" 最高分:"<<ST[MAX].GETNAME()<<ENDL;
cout<<" 最低分:"<<ST[MIN].GETNAME()<<ENDL;
}
本程序的执行结果如下:
输出结果:
最高分者:李明
最低分者:张伟
联系方式:0371-58535525 微信:15736910217 QQ:2424198917




