最长最短单词

最长最短单词

      • C语言实现
      • C++实现
      • Java实现
      • Python实现


💐The Begin💐点点关注,收藏不迷路💐

输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。

输入

一行句子。

输出

第1行,第一个最长的单词。
第2行,第一个最短的单词。

样例输入

I am studying Programming language C in Peking University

样例输出

Programming
I

C语言实现

#include <stdio.h>
#include <string.h>
#include <ctype.h>#define MAX_LENGTH 200 * 100  // 考虑句子最多200个单词,每个单词最长100字符,预留足够空间int main() {char sentence[MAX_LENGTH];  // 存储输入的句子fgets(sentence, MAX_LENGTH, stdin);  // 从标准输入读取句子,包含换行符int len = strlen(sentence);if (len > 0 && sentence[len - 1] == '\n') {  // 去除换行符sentence[len - 1] = '\0';}char longest_word[100];  // 存储最长的单词char shortest_word[100];  // 存储最短的单词strcpy(longest_word, "");  // 初始化为空字符串strcpy(shortest_word, "");  // 初始化为空字符串int current_word_start = 0;  // 当前单词开始的位置int current_word_length = 0;  // 当前单词的长度int max_length = 0;  // 记录最长单词长度int min_length = 100;  // 初始设为一个较大值,方便比较找最短单词for (int i = 0; i < len; i++) {if (isalpha(sentence[i])) {  // 如果是字母,说明在单词内current_word_length++;} else if (sentence[i] =='' || sentence[i] == ',') {  // 如果是间隔符号,说明单词结束if (current_word_length > max_length) {  // 判断是否是目前最长的单词max_length = current_word_length;strncpy(longest_word, sentence + current_word_start, current_word_length);longest_word[current_word_length] = '\0';}if (current_word_length < min_length && current_word_length > 0) {  // 判断是否是目前最短的单词且长度大于0min_length = current_word_length;strncpy(shortest_word, sentence + current_word_start, current_word_length);shortest_word[current_word_length] = '\0';}current_word_start = i + 1;  // 更新下一个单词开始的位置current_word_length = 0;  // 重置当前单词长度}}// 处理最后一个单词的情况(因为循环结束时没处理最后一个单词结束的情况)if (current_word_length > max_length) {max_length = current_word_length;strncpy(longest_word, sentence + current_word_start, current_word_length);longest_word[current_word_length] = '\0';}if (current_word_length < min_length && current_word_length > 0) {min_length = current_word_length;strncpy(shortest_word, sentence + current_word_start, current_word_length);shortest_word[current_word_length] = '\0';}printf("%s\n", longest_word);printf("%s\n", shortest_word);return 0;
}

C++实现

#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
using namespace std;int main() {string sentence;getline(cin, sentence);  // 从标准输入读取句子,自动去除换行符string longest_word;  // 存储最长的单词string shortest_word;  // 存储最短的单词longest_word = "";  // 初始化为空字符串shortest_word = "";  // 初始化为空字符串stringstream ss(sentence);  // 创建stringstream对象,用于分割句子string current_word;int max_length = 0;  // 记录最长单词长度int min_length = 100;  // 初始设为一个较大值,方便比较找最短单词while (ss >> current_word) {  // 从stringstream中按空格或逗号分割读取单词int length = current_word.length();if (length > max_length) {  // 判断是否是目前最长的单词max_length = length;longest_word = current_word;}if (length < min_length && length > 0) {  // 判断是否是目前最短的单词且长度大于0min_length = length;shortest_word = current_word;}}cout << longest_word << endl;cout << shortest_word << endl;return 0;
}

Java实现

import java.util.Scanner;public class LongestAndShortestWord {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String sentence = scanner.nextLine();  // 从标准输入读取句子String longestWord = "";  // 存储最长的单词String shortestWord = "";  // 存储最短的单词int maxLength = 0;  // 记录最长单词长度int minLength = 100;  // 初始设为一个较大值,方便比较找最短单词String[] words = sentence.split("[,\\s]+");  // 按空格或逗号分割句子得到单词数组for (String word : words) {int length = word.length();if (length > maxLength) {  // 判断是否是目前最长的单词maxLength = length;longestWord = word;}if (length < minLength && length > 0) {  // 判断是否是目前最短的单词且长度大于0minLength = length;shortestWord = word;}}System.out.println(longestWord);System.out.println(shortestWord);scanner.close();}
}

Python实现

sentence = input()  # 从标准输入读取句子words = sentence.split()  # 以空格为分隔符将句子分割成单词列表longest_word = ""  # 存储最长的单词
shortest_word = ""  # 存储最短的单词for word in words:word = word.strip(",")  # 去除单词两端可能存在的逗号length = len(word)if length > len(longest_word):  # 判断是否是目前最长的单词longest_word = wordif length < len(shortest_word) or shortest_word == "":  # 判断是否是目前最短的单词shortest_word = wordprint(longest_word)
print(shortest_word)

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

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

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

相关文章

ESP32项目 --- 智能门锁(WiFi 蓝牙 OTA)

1 项目简介 1.1 项目概述 本项目是实现一款智能门锁中的智能控制部分, 可以应用在家庭, 办公室等任何使用门锁的场所. 本项目实现了以下主要功能: &#xff08;1&#xff09;通过按键配置密码 &#xff08;2&#xff09;通过按键输入密码开锁 &#xff08;3&#xff09;录…

洛谷题单-入门2-分支结构-python-下

找出出现的最早的最大值 count 0 list_number [] while True:list_number.append(list(map(int, input().split())))count 1if count 7:breaklist2_number_total []for i1,i2 in list_number:list2_number_total.append(i1i2)target max(list2_number_total)index 0 if…

框架模块说明 #05 权限管理_03

背景 权限设计可以分为两个主要方面&#xff1a;操作权限和数据权限。前两篇文章已经详细介绍了操作权限的设计与实现&#xff0c;以及如何将其与菜单关联起来的具体方法。本篇将聚焦于数据权限&#xff0c;为您深入讲解相关的设计与实现方式。 全局开关 Value("${syst…

Linux网络编程之---多线程实现并发服务器

下面我们来使用tcp集合多线程实现并发服务器 一.服务端 #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <pthread.h>typedef struct sockinfo {char ip[16];unsigne…

Linux C/C++编程之静态库

【图书推荐】《Linux C与C一线开发实践&#xff08;第2版&#xff09;》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践&#xff08;第2版&#xff09;&#xff08;Linux技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com…

网际协议(IP)与其三大配套协议(ARP、ICMP、IGMP)

网际协议&#xff08;Internet Protocol&#xff0c;IP&#xff09;&#xff0c;又称互联网协议。是OSI中的网络层通信协议&#xff0c;用于跨网络边界分组交换。它的路由功能实现了互联互通&#xff0c;并从本质上建立了互联网。网际协议IP是 TCP/IP 体系中两个最主要的协议之…

uniapp实现加密Token并在每次请求前动态更新(vue、微信小程序、原生js也通用!)

导语&#xff1a;在Web开发中&#xff0c;Token作为一种身份验证的机制&#xff0c;被广泛应用于前后端交互过程中。本文将为大家介绍如何在每次请求前动态设置加密的Token&#xff0c;并在请求一次后使Token值加1&#xff08;或其他动态改变的逻辑&#xff09;&#xff0c;从而…

IDL学习笔记(二)IDL处理卫星数据

IDL处理卫星数据 HDF文件数据集属性通用属性 常用HDF4操作函数常用的HDF5操作函数读取HDF文件的一般步骤 HDF4文件读取-----数据信息查询HDF4文件读取示例-----目标数据TIFF输出 HDF文件 数据集属性 数据集名称&#xff0c;是“&#xff1a;”前的一部分&#xff0c;不是long_…

论文阅读——量子退火Experimental signature of programmable quantum annealing

摘要&#xff1a;量子退火是一种借助量子绝热演化解决复杂优化问题的通用策略。分析和数值证据均表明&#xff0c;在理想化的封闭系统条件下&#xff0c;量子退火可以胜过基于经典热化的算法&#xff08;例如模拟退火&#xff09;。当前设计的量子退火装置的退相干时间比绝热演…

TCP/IP协议簇自学笔记

摘抄于大学期间记录在QQ空间的一篇自学笔记&#xff0c;当前清理空间&#xff0c;本来想直接删除掉的&#xff0c;但是感觉有些舍不得&#xff0c;因此先搬移过来。 曾经&#xff0c;我只知道socket函数能进行网络间数据的通信&#xff0c;知道tcp/ip协议也是用来进行网络数据…

c++领域展开第一幕——入门基础(命名空间、iostream、缺省参数、函数重载、nullptr、inline(内联函数))超详细!!!!

文章目录 前言一、c的第一个程序二、命名空间2.1 namespace 的价值2.2 namespace 的定义2.3 命名空间的使用 三、c的输入和输出四、缺省参数五、函数重载六、nullptr七、inline总结 前言 今天小编带着大家进入c的大门&#xff0c;虽然c难&#xff0c;但好事多磨&#xff0c;一起…

DM-VIO(ROS)+t265配置运行记录(ubuntu18.04+ros melodic)

在工作中需要对DM-VIO算法进行测试&#xff0c;于是配置并记录了一下&#xff1a; 首先运行ros接口的dm-vio&#xff0c;一定要先配置源码 https://github.com/lukasvst/dm-vio在这个网址把源码下载下来并解压&#xff0c;并安装一下依赖&#xff1a; sudo apt-get install …

基于Java Springboot成人教育APP且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

基于Java Springboot个人财务APP且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

PotPlayer 最新版本支持使用 Whisper 自动识别语音生成字幕

PotPlayer 最新版本支持使用 Whisper 自动识别语音生成字幕 设置使用下载地址 设置 使用 下载地址 https://www.videohelp.com/software/PotPlayer

【软考网工笔记】网络基础理论——传输层

IPSec协议 Internet协议安全性是一种开放标准的框架结构&#xff0c;通过使用加密的安全服务以确保在Internet协议&#xff08;IP&#xff09;网络上进行保密而安全的通讯。 工作在OSI模型的第三层网络层上&#xff0c;使其在单独使用时适于保护基于TCP或UDP的协议&#xff0…

Fastify装饰器:增强你的路由处理功能加入日志

Fastify以其出色的性能和扩展性脱颖而出。装饰器是Fastify提供的一个强大功能&#xff0c;它允许开发者在不修改核心代码的情况下&#xff0c;向请求&#xff08;Request&#xff09;和响应&#xff08;Response&#xff09;对象添加自定义属性和方法。本文将通过一个简单的示例…

redis命令行常用的操作及数据备份

redis命令行常用的操作及数据备份 1.连接命令行2.常用的命令3.数据备份恢复4.桌面管理工具 在日常工作中&#xff0c;有时候会需要去查看redis中某个缓存key是否存在、是否过期等情况&#xff1b;因此&#xff0c;记录整理了一些常用的命令&#xff1b; 1.连接命令行 连接到re…

【大数据学习 | Spark-SQL】关于RDD、DataFrame、Dataset对象

1. 概念&#xff1a; RDD&#xff1a; 弹性分布式数据集&#xff1b; DataFrame&#xff1a; DataFrame是一种以RDD为基础的分布式数据集&#xff0c;类似于传统数据库中的二维表格。带有schema元信息&#xff0c;即DataFrame所表示的二维表数据集的每一列都带有名称和类型…

分布式集群下如何做到唯一序列号

优质博文&#xff1a;IT-BLOG-CN 分布式架构下&#xff0c;生成唯一序列号是设计系统常常会遇到的一个问题。例如&#xff0c;数据库使用分库分表的时候&#xff0c;当分成若干个sharding表后&#xff0c;如何能够快速拿到一个唯一序列号&#xff0c;是经常遇到的问题。实现思…