从输入的一行字符串中求出最长英文单词长度及最长单词个数,并输出长度和个数,单词之间只能用一个或多 个空格隔开。如输入字符串”I am a student”时,最长单词的长度为7,个数为1。而输入字符串”word body book try” 时,最长单词的长度为4,个数为3,即有三个单词均为最长单词。
时间: 2023-05-31 11:06:52 浏览: 93
算法思路:
1. 读入一行字符串,依次遍历每个字符,当遇到空格时,将前面的单词长度存入数组中,并将长度清零;
2. 遍历完整个字符串后,比较数组中的最大值,即为最长单词长度;
3. 再次遍历数组,统计最长单词的个数即可。
Python代码实现:
```python
s = input("请输入一行字符串:")
n = len(s) # 字符串长度
max_len = 0 # 最长单词长度
cur_len = 0 # 当前单词长度
count = 0 # 最长单词个数
for i in range(n):
if s[i] != ' ': # 不是空格,单词长度+1
cur_len += 1
else: # 是空格,将单词长度存入数组中
if cur_len > max_len:
max_len = cur_len
count = 1
elif cur_len == max_len:
count += 1
cur_len = 0
if cur_len > max_len: # 处理最后一个单词
max_len = cur_len
count = 1
elif cur_len == max_len:
count += 1
print("最长单词长度为:", max_len)
print("最长单词个数为:", count)
```
样例输入1:
I am a student
样例输出1:
最长单词长度为: 7
最长单词个数为: 1
样例输入2:
word body book try
样例输出2:
最长单词长度为: 4
最长单词个数为: 3
阅读全文