• 友元很简单2016final


    题目

    C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个求本次考试成绩最高分的学生的友元函数 student* average(student *p,int count)

    以上类名和友元函数的形式,均须按照题目要求,不得修改。

    输入格式:

    输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生)

    输出格式:

    输出是最高分学生的 学号 。 提示:如果是并列最高分,需要将并列最高分学生的学号都输出,以一个空格间隔。

    输入样例:

    在这里给出一组输入。例如:
    10001 90
    10002 93
    0
     

    输出样例:

    在这里给出相应的输出。例如:
    10002
     

    代码:

    #include<iostream>
    #include<cstdio>
    using namespace std;
    class Student{
    	 
    	public:
    		int num;
    		int score;
    	void	setStudent(int x,int y){num=x;score=y;}
    	friend void average(Student *p,int count);
    };
    void average(Student *p,int count);
     
    int main(){
    	int a,b,count=0;
    	Student stu[100];
    	Student*p=stu;
    	for(int i=0;;i++){
    		cin>>a;
    		if(a==0)
    		break;
    		count++;
    		cin>>b;
    		stu[i].setStudent(a,b);
    	}
    	
    	average(stu,count);
    }
    void average(Student *p,int count){
    	int max=p->score;
    	Student* temp=p;
    	for(int i=0;i<count;i++){
    		if(max<p->score)
    		max=p->score;
    		p++;
    	}
    	p=temp;int flag=1;
    	for(int i=0;i<count;i++){
    		if(p->score==max){
    			if(flag==0)
    			cout<<" ";
    			cout<<p->num;
    			flag=0;
    			
    		}
    		p++;
    	}
    }
    
  • 相关阅读:
    毕业设计-1.11
    毕业设计-1.10
    毕业设计-1.09
    毕业设计-1.08
    毕业设计-1.07
    [工具]Maven的安装和配置【MyEclipse】
    毕业设计-1.06
    tomcat部署项目时省略项目名
    Jenkins实现iOS项目自动化打包(含踩坑记录)
    钉钉小程序封装网络请求
  • 原文地址:https://www.cnblogs.com/pluie/p/12919858.html
Copyright © 2020-2023  润新知