zoukankan      html  css  js  c++  java
  • C++ vector+deque综合练习

    一、概述

      案例:有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除评委中最高分,去除评委中最低分,取平均分。

    二、示例图片

    三、示例代码

    #include <iostream>
    #include <vector>
    #include <string>
    #include <deque>
    #include <algorithm>
    #include <ctime>
    
    ///案例:有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除评委中最高分,去除评委中最低分,取平均分。
    
    using namespace std;
    
    /**
     * 创建选手
     * */
    class Player{
    public:
    	Player(string name,int score){
    		this->m_name = name;
    		this->m_score = score;
    	}
    	string m_name;
    	int m_score;
    };
    
    void createPlayer(vector<Player> &v){
    	string nameSeed = "ABCDE";
    	for(int i=0;i<5;i++){
    		string name = "player is: ";
    		name+=nameSeed[i];
    		int score = 0;
    		//初始化选手
    		Player player(name,score);
    		v.push_back(player);
    	}
    }
    
    void setScore(vector<Player> &v){
    	for(vector<Player>::iterator it= v.begin();it!=v.end();it++){
    		deque<int> d;//存放评委打分的容器
    		for(int i=0;i<10;i++){
    			int socre = rand()%41+60;
    			d.push_back(socre);
    		}
    		//排序
    		sort(d.begin(),d.end());
    		//去掉最低分和最高分
    		d.pop_back();
    		d.pop_front();
    		//总分
    		int sum = 0;
    		for(deque<int>::iterator dit=d.begin();dit!=d.end();dit++){
    			sum +=*dit;
    		}
    		//平均分
    		int avg = sum/d.size();
    		it->m_score = avg;
    	}
    }
    
    void showScore(vector<Player> &v){
    	for(vector<Player>::iterator it=v.begin();it!=v.end();it++){
    		cout <<"name:"<<it->m_name << " avg:"<< it->m_score<<endl;
    	}
    }
    
    
    int main(int argc, char const *argv[])
    {
    	//设置随机种子
    	srand((unsigned int)time(NULL));
    	//创建5名选手
    	vector<Player> v;
    	createPlayer(v);
    	//打分
    	setScore(v);
    	//平均分
    	showScore(v);
    
    	return 0;
    }
    

      

  • 相关阅读:
    摄像头标定GML Camera Calibration
    joda.money.Money
    aop the less note 1
    good notes
    yingyu biji 1
    flowable note1
    activiti note1
    CET4/6
    Web应用界面好帮手!DevExtreme React和Vue组件全新功能上线
    Web UI开发推荐!Kendo UI for jQuery自定义小部件——处理事件
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15428107.html
Copyright © 2011-2022 走看看