二级模拟试题:C++习题与解析(友元-03)

出处:考试大 作者:yunyun 日期:2007年07月19日 09时47分

03.有一个学生类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; 
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<<"输出结果:"<cout<<" 最高分:"<cout<<" 最低分:"<}

本程序的执行结果如下:
输出结果:
最高分者:李明
最低分者:张伟

最后更新时间:2008-11-04 23:03:17
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

考试全流程

栏目文章精选