这是一个小岛上的传统活动,每年夏天居民们会举办一场盛大的比赛,以庆祝丰收和团结精神。比赛的主要环节是选手们轮流背诵他们准备好的一句话,而评判会根据每个句子的平均重量来评分。
今年,比赛的主题是环保,选手们都准备了一些有关环保的话题,其中包括垃圾分类、节能减排等等。为了让比赛更有趣,评委决定对选手们的句子平均重量进行一些特殊的评分规则。
比如,如果选手的句子平均重量小于一定值,那么他们会得到额外的分数,反之则会被扣分。选手们都在想着如何利用这些规则来提高自己的得分,他们开始认真地考虑每个单词的长度,并且计算出了自己句子的平均重量。
每个句子由多个单词组成,句子中的每个单词的长度都可能不一样,我们假设每个单词的长度 Ni 为该单词的重量,你需要做的就是给出整个句子
的平均重量 V 。
输入只有一行,包含一个字符串 S (长度不会超过 100 ),代表整个句子,句子中只包含大小写的英文字母,每个单词之间有一个空格。
输出句子 S 的平均重量 V (四舍五入保留两位小数)。
输入
Who Love Solo
输出
3.67
题面解释:在这个问题中,我们需要计算一个句子的平均重量。句子的平均重量是通过对句子中每个单词的长度进行计算得出的,单词的长度可以看作是它的重量,句子的平均重量则是所有单词长度的总和除以单词的数量。输入只有一行,包含一个字符串 S
,代表一个句子,长度不会超过 100 个字符,且只包含大小写的英文字母,单词之间用空格分隔。输出一个浮点数,表示句子 S
的平均重量 V
,四舍五入保留两位小数。例如,对于输入句子 Who Love Solo
,我们首先拆分成单词,计算它们的长度,得出总长度为 11,单词数量为 3,因此平均重量 ( V = \frac{11}{3} \approx 3.6667 ),最终结果四舍五入为 3.67。
题目要求我们计算一个句子中所有单词的平均长度,并输出结果,保留两位小数。
给定一行由单词组成的句子,单词之间由空格分隔。
计算这些单词的平均长度(即总长度除以单词数),保留两位小数进行输出。
逐个读取输入的单词,每次读取的单词都存储在变量s中。 对于每个读取到的单词,计算其长度,并累加到总长度res中,同时统计读取到的单词个数cnt。最后,将累积的总长度res除以单词数cnt,得到平均长度,并使用fixed和setprecision(2)来确保输出保留两位小数。
Java代码
import java.util.Scanner;
class Main {
public static void main(String[] args) {
String s;
Scanner scanner = new Scanner(System.in);
s = scanner.nextLine();
int num = 0, cnt = 1;//cnt为单词个数,num为字母个数
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ')
cnt++;
else
num++;
}
System.out.printf("%.2f", 1.0 * num / cnt);//输出时注意将int转为double
}
}
Python代码
s=input()
cnt,num=1,0 #cnt为单词个数,num为字母个数
for i in range(len(s)):
if (s[i]==' '):cnt=cnt+1
else: num=num+1
print("%.2f" %(num/cnt))
C++代码
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
string s;
getline(cin,s);
int cnt=1,num=0; //cnt为单词个数,num为字母个数
for (int i=0;i<s.size();i++)
{
if (s[i]==' ') cnt++;
else num++;
}
printf("%.2f\n", 1.0*num/cnt);//输出时注意将int转为double
}
本题属于以下题库,请选择所需题库进行购买