机试题——句子平均重量

devtools/2025/2/9 8:24:00/

题目描述

这是一个小岛上的传统活动,每年夏天居民们会举办一场盛大的比赛,以庆祝丰收和团结精神。比赛的主要环节是选手们轮流背诵他们准备好的一句话,而评判会根据每个句子的平均重量来评分。

今年,比赛的主题是环保,选手们都准备了一些有关环保的话题,其中包括垃圾分类、节能减排等等。为了让比赛更有趣,评委决定对选手们的句子平均重量进行一些特殊的评分规则。

比如,如果选手的句子平均重量小于一定值,那么他们会得到额外的分数,反之则会被扣分。选手们都在想着如何利用这些规则来提高自己的得分,他们开始认真地考虑每个单词的长度,并且计算出了自己句子的平均重量。

每个句子由多个单词组成,句子中的每个单词的长度都可能不一样,我们假设每个单词的长度 ( N_i ) 为该单词的重量,你需要做的就是给出整个句子的平均重量 ( V )。

输入描述

输入只有一行,包含一个字符串 ( S )(长度不会超过 100),代表整个句子。句子中只包含大小写英文字母,每个单词之间有一个空格。

输出描述

输出句子 ( S ) 的平均重量 ( V )(四舍五入保留两位小数)。

用例输入

Who Love Solo
3.67

解题思路

本题的目标是计算一个句子中所有单词的平均长度。主要步骤如下:

  1. 读取输入

    • 使用 getline 读取整行输入,确保可以处理包含空格的句子。
  2. 分割单词

    • 使用 istringstream 将句子分割成单词。
  3. 计算总长度和单词数量

    • 遍历每个单词,累加单词的长度,并统计单词的数量。
  4. 格式化输出

    • 使用 fixedsetprecision(2) 将结果保留两位小数并输出。

代码

#include <iostream>
#include <vector>
#include <queue>
#include <sstream>
#include <string>
#include <stack>
#include <algorithm>
#include <map>
#include <iomanip>
using namespace std;
#define msize  105int main() {ios::sync_with_stdio(false);cin.tie(nullptr);string input;getline(cin, input); // 读取整行输入istringstream is(input); // 使用istringstream分割单词string temp;int all = 0; // 总长度int n = 0; // 单词数量while (is >> temp) { // 遍历每个单词all += temp.size(); // 累加单词长度n++; // 单词数量加1}cout << fixed << setprecision(2) << (double)all / n; // 输出平均重量,保留两位小数
}

http://www.ppmy.cn/devtools/157300.html

相关文章

深入浅出:机器学习的全面解析

深入浅出&#xff1a;机器学习的全面解析 引言 机器学习&#xff08;Machine Learning, ML&#xff09;作为人工智能的一个重要分支&#xff0c;近年来取得了显著进展&#xff0c;并在多个领域中得到了广泛应用。本文将从基础概念、核心算法、应用场景以及未来发展趋势等方面…

golang使用sqlite3,开启wal模式,并发读写

因为sqlite是基于文件的&#xff0c;所以默认情况下&#xff0c;sqlite是不支持并发读写的&#xff0c;即写操作会阻塞其他操作&#xff0c;同时sqlite也很容易就产生死锁。 但是作为一个使用广泛的离线数据库&#xff0c;从sqlite3.7.0版本开始&#xff08;SQLite Release 3.…

Delphi语言的云计算

Delphi语言的云计算应用探索 引言 随着信息技术的迅猛发展&#xff0c;云计算已经成为现代计算机科学中一个不可或缺的重要组成部分。云计算不仅改变了企业的IT基础设施部署方式&#xff0c;还开启了新一轮的经济发展模式。开发者们也在积极寻找合适的编程语言&#xff0c;以…

Linux(CentOS)安装 Nginx

CentOS版本&#xff1a;CentOS 7 Nginx版本&#xff1a;1.24.0 两种安装方式&#xff1a; 一、通过 yum 安装&#xff0c;最简单&#xff0c;一键安装&#xff0c;全程无忧。 二、通过编译源码包安装&#xff0c;需具备配置相关操作。 最后附&#xff1a;设置 Nginx 服务开…

OpenSIPS-Dispatcher模块详解:优化SIP流量分发的利器

在 OpenSIPS 中&#xff0c;dispatcher 模块用于实现负载均衡和故障转移。通过 dispatcher 模块&#xff0c;你可以将 SIP 请求分发到一组后端服务器&#xff08;如媒体服务器、代理服务器等&#xff09;&#xff0c;并根据配置的算法和策略动态调整分发逻辑。 模块功能使用样…

51单片机看门狗系统

在 STC89C52 单片机中&#xff0c;看门狗控制寄存器的固定地址为 0xE1。此地址由芯片厂商在硬件设计时确定&#xff0c;但是它在头文件中并未给出&#xff0c;因此在使用看门狗系统时需要声明下这个特殊功能寄存器 sfr WDT_CONTR 0xE1; 本案将用一个小灯的工作状况来展示看门…

C# OpenCV机器视觉:多尺度细节提升

在一个充满创意的设计工作室里&#xff0c;阿强正对着电脑屏幕上的图像唉声叹气。他是一名图像处理师&#xff0c;最近接到一个棘手的任务&#xff0c;客户拿来的图像细节模糊&#xff0c;看起来灰蒙蒙的&#xff0c;就像被一层薄纱蒙住了眼睛。 “这图像细节这么差&#xff0…

nexus部署及配置https访问

1. 使用docker-compose部署nexus docker-compose-nexus.yml version: "3" services:nexus:container_name: my-nexusimage: sonatype/nexus3:3.67.1hostname: my-nexusnetwork_mode: hostports:- 8081:8081deploy:resources:limits:cpus: 4memory: 8192Mreservations…