【C++】STL案例1-评委打分

0.前言

在这里插入图片描述

1.系统自动生成的评委评分代码:

#include <iostream>
using namespace std;
#include <deque>
#include <vector>
#include <algorithm>
#include <string>//选手类
class Player
{
public:Player(string name, float score){m_Name = name;m_Score = score;}string m_Name; //姓名float m_Score; //平均分
};//创建选手
void createPlayer(vector<Player>& player)
{string Sname = "ABCDE";for (int i = 0; i < 5; i++){string name = "选手";name += Sname[i];float score = 0;Player p(name, score); //创建选手player.push_back(p);  //将创建的选手Player对象 放入到容器中}
}//给选手打分
void setScore(vector<Player>& player)
{srand((unsigned int)time(NULL));  //设置种子,确保每次运行生成不同的随机数for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){deque<int>d; //创建deque容器,将十个评委的评分放入容器中for (int i = 0; i < 10; i++){float score = rand() % 41 + 60;  //评分 60~100 利用随机数d.push_back(score);}sort(d.begin(), d.end()); //将评分升序排序//去除最高分和最低分d.pop_back();d.pop_front();float sum = 0; //总分变量for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++){sum += *dit;  //将十个评分累加}float avg = sum / d.size();  //均分it->m_Score = avg;}
}//显示选手分数
void showScore(vector<Player>& player)
{for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){cout << it->m_Name << "\t\t" << "平均分为:" << it->m_Score << endl;}cout << "选手评分结束!" << endl;
}int main() 
{vector<Player>player;createPlayer(player); //创建五名选手setScore(player); //给选手评分showScore(player); //显示选手分数//**************************************system("pause");return 0;
} 

在这里插入图片描述

2.用户手动输入评委评分代码:

#include <iostream>
using namespace std;
#include <deque>
#include <vector>
#include <algorithm>
#include <string>//选手类
class Player
{
public:Player(string name, float score){m_Name = name;m_Score = score;}string m_Name; //姓名float m_Score; //平均分
};//创建选手
void createPlayer(vector<Player>& player)
{string Sname = "ABCDE";for (int i = 0; i < 5; i++){string name = "选手";name += Sname[i];float score = 0;Player p(name, score); //创建选手player.push_back(p);  //将创建的选手Player对象 放入到容器中}
}//给选手打分
void setScore(vector<Player>& player)
{//srand((unsigned int)time(NULL));  //设置种子,确保每次运行生成不同的随机数cout << "请在场的十位评委们给选手们打分:" << endl;for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){cout << it->m_Name << " 的十个分数分别为:" << endl;deque<int>d; //创建deque容器,将十个评委的评分放入容器中for (int i = 0; i < 10; i++){//float score = rand() % 41 + 60;  //评分 60~100 利用随机数//手动输入评分float score;cin >> score; d.push_back(score); //将分数插入deque容器中}sort(d.begin(), d.end()); //将评分升序排序//去除最高分和最低分d.pop_back();d.pop_front();float sum = 0; //总分变量for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++){sum += *dit;  //将十个评分累加}float avg = sum / d.size();  //均分it->m_Score = avg;}
}//显示选手分数
void showScore(vector<Player>& player)
{cout << "各选手的得分情况如下:" << endl;for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){cout << it->m_Name << "\t\t" << "平均分为:" << it->m_Score << endl;}cout << "选手评分结束!" << endl;
}int main() 
{vector<Player>player;createPlayer(player); //创建五名选手setScore(player); //给选手评分showScore(player); //显示选手分数//**************************************system("pause");return 0;
} 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/38774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习深度学习——机器翻译(序列生成策略)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——seq2seq实现机器翻译&#xff08;详细实现与原理推导&#xff09; &#x1f4da;订阅专栏&#xff1a;机…

ClickHouse常见的DDL语句

1.创建库 CREATE DATABASE IF NOT EXISTS mytestdb; 2.创建表 CREATE TABLE user_info ( user_id UInt32 comment 用户标识, name String comment 用户名, create_date DateTime DEFAULT now() comment 创建时间, sex Enum8(男 1, 女 2) comment 性别, …

最新AI系统ChatGPT网站程序源码+搭建教程/公众号/H5端/安装配置教程/完整知识库

1、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&#xff01;…

基于IDE Eval Resetter延长IntelliJ IDEA等软件试用期的方法(包含新版本软件的操作方法)

本文介绍基于IDE Eval Resetter插件&#xff0c;对集成开发环境IntelliJ IDEA等JetBrains公司下属的多个开发软件&#xff0c;加以试用期延长的方法。 我们这里就以IntelliJ IDEA为例&#xff0c;来介绍这一插件发挥作用的具体方式。不过&#xff0c;需要说明使用IDE Eval Rese…

docker常用指令

一、Docker指令 1、启动Docker &#xff1a;systemctl start docker 2、查看Docker状态:systemctl status docker 状态为active表示正在运行中 3、停止运行Docker:systemctl stop docker 4、重启Docker:systemctl restart docker 5、开机启动Docker:systemctl enable docker 二…

Apache Hudi Timeline Server介绍

文章目录 Apache Hudi Timeline Server介绍1. 概述2 提供的服务3. 结论 Apache Hudi Timeline Server介绍 1. 概述 Hudi 有一个中央时间线服务器&#xff0c;在驱动程序节点中运行并作为 Rest 服务。它有多种好处&#xff0c;第一个用例是提供 FileSystemView api。Hudi 的核…

Hlang社区-社区主页实现

文章目录 前言首页结构固定导航栏左侧导航itemitem标志头部推荐文章展示ITEM实现ToolTip完整实现首页完整实现前言 废话不多说,直接看到效果,这里的话是我们社区主页,不是产品宣传主页哈: 是的也许你已经发现了这个页面和某个网站长得贼像。没错是这样的,这个布局我确实…

vue3+vite+pinia

目录 一、项目准备 1.1、Vite搭建项目 1.2、vue_cli创建项目 二、组合式API(基于setup) 2.1、ref 2.2、reactive 2.3、toRefs 2.4、watch和watchEffect 2.5、computed 2.6、生命周期钩子函数 2.7、setup(子组件)的第一个参数-props 2.8、setup(子组件)的第二个参数…

STM32 CubeMX (Freertos任务:创建、删除、挂起、恢复)

STM32 CubeMX Freertos STM32 CubeMX &#xff08;Freertos任务&#xff1a;创建、删除、挂起、恢复&#xff09; STM32 CubeMX Freertos前言一、STM32 CubeMX 配置时钟树配置使能串口&#xff0c;用于用于检查实验现象使用STM32 CubeMX 库&#xff0c;配置Freertos创建任务 二…

云计算:新一代的技术革命

云计算&#xff0c;作为21世纪的一项重要技术革命&#xff0c;已在全球范围内引发了深远的影响。它改变了我们存储和处理数据的方式&#xff0c;使得企业无需再建设和维护昂贵的本地服务器和数据中心。本文将深入探讨云计算的基本概念&#xff0c;类型&#xff0c;主要优点&…

开发利器:接口代理和接口模拟工具

前端开发过程往往需要和后端对接接口,而且一般开发都是前后端同步开发,这就难免出现接口提供滞后的问题,从而导致我们前端开发 UI 开发完成而无法调试的问题。面对这种问题,一般我们会有很多种方式处理,比如在代码中写一些模拟数据,或者打断点调试,或者用代理工具 Fidde…

概念解析 | 长尾分布:从无处不在的‘少数派’中挖掘价值

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:长尾分布(Long-Tail Distribution)。 揭秘长尾分布:从无处不在的‘少数派’中挖掘价值 What is a Long Tail Distribution? (Definition & Example) - Statology 一、背…

神经网络基础-神经网络补充概念-02-逻辑回归

概念 逻辑回归是一种用于二分分类问题的统计学习方法&#xff0c;尽管名字中带有"回归"一词&#xff0c;但实际上它用于分类任务。逻辑回归的目标是根据输入特征来预测数据点属于某个类别的概率&#xff0c;然后将概率映射到一个离散的类别标签。 逻辑回归模型的核…

什么叫做云计算?

相信大多数人对云计算或者是云服务的认识还停留在仅仅听过这个名词&#xff0c;但是对其真正的定义或者意义还不甚了解的层面。甚至有些技术人员&#xff0c;如果日常的业务不涉及到云服务&#xff0c;可能对其也只是一知半解的程度。首先云计算准确的讲只是云服务中的一部分&a…

多主题自适应知识变现博客论坛,支持docker一键部署

iblog 给大家推荐一个多主题自适应&#xff0c;支持付费收款的博客论坛系统&#xff0c;支持docker一键部署&#xff0c;支持企业微信通知。 前端 多主题 自适应 个人页 后端 H2 console 运行命令 docker run -d --name iblog --restartalways -p 8080:8080 -e consoletrue …

RabbitMQ简单使用

RabbitMq是一个消息中间件&#xff1a;它接收消息、转发消息。你可以把它理解为一个邮局&#xff1a;当你向邮箱里寄出一封信后&#xff0c;邮递员们就能最终将信送到收信人手中。 RabbitMq、消息相关术语如下&#xff1a; 生产者&#xff1a;生产者只发送消息&#xff0c;发…

Postman接口自动化测试实例

一.实例背景 在实际业务中&#xff0c;经常会出现让用户输入用户密码进行验证的场景。而为了安全&#xff0c;一般都会先请求后台服务器获取一个随机数做为盐值&#xff0c;然后将盐值和用户输入的密码通过前端的加密算法生成加密后串传给后台服务器&#xff0c;后台服务器接到…

【ARM 嵌入式 编译系列 11 -- GCC __attribute__((packed))详细介绍】

文章目录 __attribute__&#xff08;(packed)&#xff09; 介绍 上篇文章&#xff1a;ARM 嵌入式 编译系列 10.3 – GNU elfutils 工具小结 下篇文章&#xff1a;ARM 嵌入式 编译系列 11.1 – GCC attribute((aligned(x)))详细介绍 attribute&#xff08;(packed)&#xff09; …

针对Android项目蓝牙如何学习

一、概述(Overview) 蓝牙是一种专有的开放式无线技术标准,用于在固定和移动设备之间进行短距离数据交换(使用2400–2480 MHz ISM波段的短波长无线电传输),从而创建具有高度安全性的个人局域网(PANs)。由电信供应商爱立信(telecoms vendor Ericsson)于1994年创建,[1…

系统架构设计师---计算机网络基础知识

根据考试大纲,本章知识点会涉及单项选择题,约占2~6分。本章内容属于基础知识范畴,根据以往全国计算机技术与软件专业技术资格(水平)考试的出题规律而言,会在单项选择题中出现,也会在案例分析题中出现。 想成为一名合格的高级架构师,需要在计算机领域中“上知天文,下知地…