最长最短单词

最长最短单词

      • 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.rhkb.cn/news/486387.html

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

相关文章

时频转换 | Matlab梅尔频谱图Mel spectrogram一维数据转二维图像方法

目录 基本介绍程序设计参考资料获取方式 基本介绍 时频转换 | Matlab梅尔频谱图Mel spectrogram一维数据转二维图像方法 程序设计 clear clc % close all load 130.mat % 导入数据 x X130_DE_time; % 本数据只选择5120个点进行分析 x x(1:120000,:); fs 12000 ; % 数据…

蓝牙键鼠无法被电脑识别

起因是我的键鼠是三模的&#xff0c;但是我蓝牙模式我只用过几次&#xff0c;基本一直使用的是有线模式&#xff0c;最近突然要用无线连接&#xff0c;如果使用收发器就显得过于繁琐&#xff0c;还占用usb口&#xff0c;因此想用蓝牙连&#xff0c;但是由于 win10更新了英特尔…

网络命令配置

随笔记录 目录 1. 背景介绍 2. 配置网络命令空间 3 验证 3.1 未网络命令空间外网卡配置IP 3.2 验证配置 3.2.1 在网络命令空间外接口启动iperf3 3.2.2 网络命令空间内启动iperf3 client 1. 背景介绍 2. 配置网络命令空间 1. 配置前[rootlocalhost SDK-V1.10.1.7]# ip…

Megatron 和 deepspeed 大模型训练框架

文章目录 相同点不同点开发团队&#xff1a;专长领域&#xff1a;GPU优化&#xff1a;功能特性&#xff1a;框架支持&#xff1a; 优势比较Megatron优势&#xff1a;DeepSpeed优势&#xff1a;Megatron训练框架最主要的特点、优缺点优点:缺点: 扩展对比深入探究其他训练框架各种…

STM32进阶 定时器3 通用定时器 案例1:LED呼吸灯——PWM脉冲

功能 它有基本定时器所有功能&#xff0c;还增加以下功能 TIM2、TIM3、TIM4、TIM5 多种时钟源&#xff1a; 外部时钟源模式1&#xff1a; 每个定时器有四个输入通道 只有通道1和通道2的信号可以作为时钟信号源 通道1 和通道2 的信号经过输入滤液和边缘检测器 外部时钟源…

详解Vue设计模式

详解 vue 设计模式 ​ Vue.js 作为一个流行的前端框架&#xff0c;拥有许多设计模式&#xff0c;这些设计模式帮助开发者更好地组织和管理代码&#xff0c;提升代码的可维护性、可扩展性和可读性。Vue 设计模式主要体现在以下几个方面&#xff1a; 1. 组件化设计模式 (Compon…

Tomcat使用教程

下载地址&#xff1a;https://tomcat.apache.org/ 配置环境变量 变量名: CATALINA_HOME 变量值: D:\tools\apache-tomcat-9.0.97 Path: %CATALINA_HOME%\bin 启动Tomcat(打开命令提示符) startup.bat 解决乱码问题(打开conf\logging.properties) java.util.logging.Conso…

免押租赁系统助力资源共享新模式开创便捷租赁体验

内容概要 免押租赁系统&#xff0c;听起来是不是很酷&#xff1f;这个新模式不仅仅是为了让你少花点钱&#xff0c;它的到来简直就是个革命&#xff01;以前&#xff0c;租东西时首先想到的就是那个令人心痛的押金&#xff0c;对吧&#xff1f;但现在&#xff0c;免押租赁系统…

17. Threejs案例-Three.js创建多个立方体

17. Threejs案例-Three.js创建多个立方体 实现效果 知识点 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染 WebGL 场景的核心类。它负责将场景中的对象渲染到画布上。 构造器 new THREE.WebGLRenderer(parameters) 参数类型描述parametersObject可选…

【kettle】mysql数据抽取至kafka/消费kafka数据存入mysql

目录 一、mysql数据抽取至kafka1、表输入2、json output3、kafka producer4、启动转换&#xff0c;查看是否可以消费 二、消费kafka数据存入mysql1、Kafka consumer2、Get records from stream3、字段选择4、JSON input5、表输出 一、mysql数据抽取至kafka 1、表输入 点击新建…

如何让谷歌外链看起来更真实?

在SEO优化过程中&#xff0c;外链的自然性往往会被忽视&#xff0c;尤其是在一些急于见效的策略中&#xff0c;外链往往集中在高权重的少数几个网站上&#xff0c;导致外链结构单一且缺乏多样性。这样的外链网络容易让搜索引擎怀疑其真实性&#xff0c;进而影响网站排名。如何才…

【Qt移植LVGL】QWidget手搓LVGL软件仿真模拟器(非直接运行图形库)

【Qt移植LVGL】QWidget手搓LVGL软件仿真模拟器&#xff08;非直接运行图形库&#xff09; 打包开源地址&#xff1a; Qt函数库gitee地址 更新以gitee为准 移植后的demo工程&#xff1a; gitee 有些没实现的 后续我会继续优化 文章目录 别碰瓷看清楚&#xff1a;是移植&#…

Spring Data Elasticsearch

简介说明 spring-data-elasticsearch是比较好用的一个elasticsearch客户端&#xff0c;本文介绍如何使用它来操作ES。本文使用spring-boot-starter-data-elasticsearch&#xff0c;它内部会引入spring-data-elasticsearch。 Spring Data ElasticSearch有下边这几种方法操作El…

JavaWeb学习(3)(Servlet详细、Servlet的三种实现方式(面试)、Servlet的生命周期、传统web.xml配置Servlet(了解))

目录 一、Servlet详细。 &#xff08;1&#xff09;基本介绍。 &#xff08;2&#xff09;基本作用。 1、接收客户端请求数据。 2、处理请求。 3、完成响应结果。 二、Servlet的三种实现方式。 &#xff08;1&#xff09;实现javax.servlet.Servlet接口。 1、基本介绍。 2、代码…

如何利用内链策略提升网站的整体权重?

内链是谷歌SEO中常常被低估的部分&#xff0c;实际上&#xff0c;合理的内链策略不仅能帮助提升页面间的关联性&#xff0c;还可以增强网站的整体权重。通过正确的内链布局&#xff0c;用户可以更流畅地浏览你的网站&#xff0c;谷歌爬虫也能更快地抓取到更多页面&#xff0c;有…

jeecg-uniapp 跨域问题解决方法记录

今天折腾这个很恶心的问题,工作需要经验才行,根本没有什么技术难点,都是经验而已 问题在此 发现没有替换掉前缀 :8085/#/pages/login/login:1 Access to XMLHttpRequest at http://192.168.152.32:8194/h5api/api/user/login from origin http://localhost:8085 has been bloc…

解决Jupyter Notebook无法转化为Pdf的问题(基于Typora非常实用)

笔者在完成各项作业和做笔记时&#xff0c;经常用到jupyter notebook&#xff1b;其因为可以同时运行python并提供格式化的数字公式的输入方式&#xff0c;得到了广大用户的喜爱。 当我们想要将.ipynb文件导出为pdf时&#xff0c;有两种常用方法。 1.Ctrlp 2.通过File ->…

69 mysql 中 is null 的实现

前言 Mysql 中我们偶尔会用到 字段为 NULL 的情况 这时候 我们只能使用查询 “select * from tz_test_02 where field1 is null;” 来进行 field1 字段为 null 的行的查询 然后如果是使用 “select * from tz_test_02 where field1 null;” 你会发现查询 不出数据 但是如…

Java进阶(注解,设计模式,对象克隆)

Java进阶(注解&#xff0c;设计模式&#xff0c;对象克隆) 一. 注解 1.1 什么是注解 java中注解(Annotation)&#xff0c;又称java标注&#xff0c;是一种特殊的注释 可以添加在包&#xff0c;类&#xff0c;成员变量&#xff0c;方法&#xff0c;参数等内容上 注解会随同…

数据结构考研考点(持续更新)

一、绪论 1、数据元素是数据的基本单位&#xff0c;一个数据元素可以由若干数据项组成&#xff0c;数据项是构成数据元素的不可分割的最小单位。 2、数据结构是数据元素与数据元素之间的关系。 3、数据结构三要素&#xff1a;逻辑结构&#xff1a;独立于计算机&#xff08;线…