单词翻转

单词翻转

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


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

输入一个句子(一行),将句子中的每一个单词翻转后输出。

输入

只有一行,为一个字符串,不超过1000个字符。单词之间以空格隔开。

输出

翻转每一个单词后的字符串,单词之间的空格需与原文一致。

样例输入

hello world

样例输出

olleh dlrow

C语言实现

#include <stdio.h>
#include <string.h>

#define MAX_LENGTH 1000

int main() {
    char sentence[MAX_LENGTH]; // 定义字符数组用于存储输入的句子,限制最大长度为1000
    fgets(sentence, MAX_LENGTH, stdin); // 从标准输入读取句子,包含换行符

    int len = strlen(sentence);
    if (len > 0 && sentence[len - 1] == ‘\n’) { // 去除换行符
        sentence[len - 1] = ‘\0’;
    }

    int start = 0; // 标记每个单词开始的位置
    for (int i = 0; i <= len; i++) { // 遍历整个句子字符串,包含字符串结束符’\0’的位置
        if (sentence[i] ==‘’ || sentence[i] == ‘\0’) { // 遇到空格或者字符串结束符,说明一个单词结束了
            int end = i - 1; // 标记单词结束的位置
            while (start < end) { // 对单词进行翻转操作,通过双指针法交换字符
                char temp = sentence[start];
                sentence[start] = sentence[end];
                sentence[end] = temp;
                start++;
                end–;
            }
            start = i + 1; // 更新下一个单词开始的位置
        }
    }

    printf(“%s\n”, sentence); // 输出翻转单词后的句子

    return 0;
}

C++实现

#include <iostream>
#include <string>
using namespace std;

int main() {
    string sentence;
    getline(cin, sentence); // 从标准输入读取句子,自动去除换行符

    int start = 0; // 标记每个单词开始的位置
    for (size_t i = 0; i < sentence.size(); i++) { // 遍历句子字符串
        if (sentence[i] ==’ ') { // 遇到空格,说明一个单词结束了
            int end = i - 1; // 标记单词结束的位置
            while (start < end) { // 对单词进行翻转操作,通过双指针法交换字符
                swap(sentence[start], sentence[end]);
                start++;
                end–;
            }
            start = i + 1; // 更新下一个单词开始的位置
        }
    }
    if (start < sentence.size()) { // 处理最后一个单词(如果句子末尾没有空格的情况)
        int end = sentence.size() - 1;
        while (start < end) {
            swap(sentence[start], sentence[end]);
            start++;
            end–;
        }
    }

    cout << sentence << endl; // 输出翻转单词后的句子

    return 0;
}

Java实现

import java.util.Scanner;

class ReverseWords {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String sentence = scanner.nextLine(); // 从标准输入读取句子

        StringBuilder reversed = new StringBuilder(); // 使用StringBuilder方便进行字符串操作和修改
        int start = 0; // 标记每个单词开始的位置
        for (int i = 0; i < sentence.length(); i++) {
            if (sentence.charAt(i) ==’ ') { // 遇到空格,说明一个单词结束了
                StringBuilder word = new StringBuilder(sentence.substring(start, i));
                word.reverse(); // 对单词进行翻转操作,利用StringBuilder的reverse方法
                reversed.append(word).append(" "); // 将翻转后的单词添加到结果中,并添加空格
                start = i + 1; // 更新下一个单词开始的位置
            }
        }
        if (start < sentence.length()) { // 处理最后一个单词(如果句子末尾没有空格的情况)
            StringBuilder word = new StringBuilder(sentence.substring(start));
            word.reverse();
            reversed.append(word);
        } else {
            reversed.deleteCharAt(reversed.length() - 1); // 如果句子末尾有空格,删除多余的空格
        }

        System.out.println(reversed.toString()); // 输出翻转单词后的句子

        scanner.close();
    }
}

Python实现

sentence = input() # 从标准输入读取句子

words = sentence.split() # 以空格为分隔符将句子分割成单词列表
reversed_words = [word[::-1] for word in words] # 使用切片操作[::-1]对每个单词进行翻转,得到翻转后的单词列表
print(" ".join(reversed_words)) # 将翻转后的单词列表用空格连接起来并输出

在这里插入图片描述


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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据分析实战—房价特征关系

1.实战内容 &#xff08;1&#xff09; 读取房价特征关系表&#xff08;house_price.npz&#xff09;绘制离地铁站的距离与单位面积的房价的散点图&#xff0c;并对其进行分析&#xff1b; import pandas as pd import numpy as np import warnings warnings.filterwarnings(&…

网页502 Bad Gateway nginx1.20.1报错与解决方法

目录 网页报错的原理 查到的502 Bad Gateway报错的原因 出现的问题和尝试解决 问题 解决 网页报错的原理 网页显示502 Bad Gateway 报错原理是用户访问服务器时&#xff0c;nginx代理服务器接收用户信息&#xff0c;但无法反馈给服务器&#xff0c;而出现的报错。 查到…

Linux入门攻坚——41、Linux集群系统入门-lvs(2)

lvs-dr&#xff1a;GATEWAY Director只负责请求报文&#xff0c;响应报文不经过Director&#xff0c;直接由RS返回给Client。 lvs-dr的报文路线如上图&#xff0c;基本思路就是报文不会回送Director&#xff0c;第①种情况是VIP、DIP、RIP位于同一个网段&#xff0c;这样&…

【Python网络爬虫笔记】10- os库存储爬取数据

os库的作用 操作系统交互&#xff1a;os库提供了一种使用Python与操作系统进行交互的方式。使用os库来创建用于存储爬取数据的文件夹&#xff0c;或者获取当前工作目录的路径&#xff0c;以便将爬取的数据存储在合适的位置。环境变量操作&#xff1a;可以读取和设置环境变量。在…

在CentOS中安装和卸载mysql

在CentOS7中安装和卸载mysql 卸载mysql1、查看是否安装过mysql2、查看mysql服务状态3、关闭mysql服务4、卸载mysql相关的rpm程序5、删除mysql相关的文件6、删除mysql的配置文件my.cnf 安装mysql1、下载mysql相关的rpm程序2、检查/tmp临时目录权限3、安装mysql前的依赖检查3、安…

HDOJ 1735:字数统计 ← 贪心

【题目来源】https://acm.hdu.edu.cn/showproblem.php?pid1735【题目描述】 一天&#xff0c;淘气的 Tom 不小心将水泼到了他哥哥 Jerry 刚完成的作文上。原本崭新的作文纸顿时变得皱巴巴的&#xff0c;更糟糕的是由于水的关系&#xff0c;许多字都看不清了。可怜的 Tom 知道他…

zookeeper的安装

zookeeper的安装 一.前言 zookeeper开源组件是为分布式应用&#xff0c;提供协调服务的一种解决方案。本文主要是介绍在Centos7的操作系统中&#xff0c;如何以单机&#xff0c;伪集群&#xff0c;集群的方式来安装部署zookeeper服务。zookeeper要求的jdk版本为1.6以上。本文假…

keil5搜索框还有左侧文件状态栏不见的问题

点击上面的window&#xff0c;弹出 reset view to default &#xff0c;然后点击&#xff0c;再点击reset&#xff0c;就ok了

Python机器学习笔记(六、核支持向量机)

核支持向量机&#xff08;kernelized support vector machine&#xff09;简称SVM&#xff0c;支持向量机可以用于分类&#xff0c;也可以用于回归&#xff0c;分类在SVC中实现&#xff0c;回归在SVR中实现。 1. 线性模型与非线性特征 线性模型在低维空间中的应用非常受限&am…

线性表之单链表详解

一、概念 链表作为线性表的链式存储结构&#xff0c;将线性表L &#xff08;a0,...ai-1,ai,ai1...an-1) 中的各元素分布在存储器的不同存储块&#xff0c;称为结点。结点之间通过指针建立联系 其中&#xff1a;data作为数据域&#xff0c;next作为指针域&#xff0c;指向ai的直…

启明智显ZX7981PC:5G时代的新选择,全屋网络无缝覆盖

在这个飞速发展的5G时代&#xff0c;每一个细微的科技进步都在推动着我们的生活向更加智能、便捷的方向发展。近日&#xff0c;启明智显再次引领科技潮流&#xff0c;正式发布其最新的5G CPE产品——ZX7981PC。作为继7981PG与7981PM之后的又一次迭代升级&#xff0c;ZX7981PC凭…

ubuntu检测是否已安装nvidia驱动以及产品类型

nvidia-sminvidia-smi 是 NVIDIA 提供的一个命令行工具&#xff0c;用于查看和管理 NVIDIA GPU 的状态。当你运行 nvidia-smi 命令时&#xff0c;它会显示当前系统中所有 NVIDIA GPU 的状态信息&#xff0c;包括 GPU 的使用率、温度、内存使用情况等。 有8个GPU nvcc -V查看c…

Introduction to NoSQL Systems

What is NoSQL NoSQL database are no-tabular非數據表格 database that store data differently than relational tables 其數據的存儲方式與關係型表格不同 Database that provide a mechanism機制 for data storage retrieval 檢索 that is modelled in means other than …

Javaweb web后端maven介绍作用安装

自动导入到这个项目 src是源代码 main主程序&#xff0c;核心代码 java是Java源代码 resources是项目配置文件 test测试相关的 maven概述 介绍 依赖在本地仓库查找&#xff0c;如果本地仓库有&#xff0c;用本地仓库的依赖&#xff0c;本地没有&#xff0c;连接中央仓库&…

MinIO分布式文件存储

一、分布式文件系统 问题引出 对于一个网站系统&#xff0c;若为降低成本投入&#xff0c;将文件存储服务和网站系统部署在同一台服务器中&#xff0c;访问量不大&#xff0c;基本不会有问题&#xff0c;但访问量逐渐升高&#xff0c;网站文件资源读取逐渐频繁&#xff0c;单…

SQL Server:只有MDF文件,如何附加数据库

第一步&#xff1a;先新建一个同名数据库&#xff0c;然后停止sql服务&#xff0c;删除新建数据库.ldf文件。 第二步&#xff1a;将要附加的数据库的.mdf文件覆盖刚新建的.mdf文件&#xff0c;并重启sql服务。 第三步&#xff1a;这时数据库DATA目录下只有一个.mdf文件&#xf…

《HTML 的变革之路:从过去到未来》

一、HTML 的发展历程 图片: HTML 从诞生至今&#xff0c;经历了多个版本的迭代。 &#xff08;一&#xff09;早期版本 HTML 3.2 在 1997 年 1 月 14 日成为 W3C 推荐标准&#xff0c;提供了表格、文字绕排和复杂数学元素显示等新特性&#xff0c;但因实现复杂且缺乏浏览器…

机器视觉与OpenCV--01篇

计算机眼中的图像 像素 像素是图像的基本单位&#xff0c;每个像素存储着图像的颜色、亮度或者其他特征&#xff0c;一张图片就是由若干个像素组成的。 RGB 在计算机中&#xff0c;RGB三种颜色被称为RGB三通道&#xff0c;且每个通道的取值都是0到255之间。 计算机中图像的…

网络安全创新实验

一、网络拓扑设计 二、网络主机概况 本实验一共包含4台虚拟机&#xff0c;分别为攻击机attacker&#xff0c;网关gateway&#xff0c;内网普通用户主机pc&#xff0c;内网服务器server&#xff0c;四台主机的详细信息如下表所示&#xff1a; 名称操作系统IP地址网络模式作用攻…

y3编辑器教学5:触发器2 案例演示

文章目录 一、探索1.1 ECA1.1.1 ECA的定义1.1.2 使用触发器实现瞬间移动效果 1.2 变量1.2.1 什么是变量1.2.2 使用变量存储碎片收集数量并展现 1.3 if语句&#xff08;魔法效果挂接&#xff09;1.3.1 地形设置1.3.2 编写能量灌注逻辑1.3.3 编写能量灌注后&#xff0c;实现传送逻…