翻转句子中单词的顺序

输入一个英文句子翻转句子单词顺序单词内字符顺序不变 题目:输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变。句子单词以空格符隔开。 为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。处理方法是首先将整个句子翻转,然后再将其中的每个单词翻转。代码如下: #include using namespace std; void myReverse 阅读详情



一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)

翻转句子中单词的顺序。

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。

例如输入“I am a student.”,则输出“student. a am I”。


二、分析:

1.输入英文句子,并把其保存在string中

2.for循环,找到“ ”(空格),把单词按要求放入一数组中

3.输出目标数组


三、代码:

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

const int arraySize = 20;//输入字数限制

void main()
{
	cout<<"please enter a sentance :";
	string sentance;
	getline(cin,sentance);
	//cout<<"you input: "<<sentance<<endl;

	char b[arraySize] = {0};
	int letterPosition = 0;  //单词首字母位置
	int letterSize = 0;  //单词长度
	int letterNow = 0;  //单词现正记录的位置

	if(sentance.size() > arraySize) return;

	for(int i=0;i<sentance.size();i++)
	{
		if(sentance.at(i) == ' ')
		{
			letterNow = letterPosition;
			for(int j=0;j<=letterSize;j++)
			{
				if(j==0) b[sentance.size() - letterSize + j - 1 - letterPosition] = ' ';
				else b[sentance.size() - letterSize + j - 1 - letterPosition] = sentance.at(letterNow++);
			}

			letterPosition = i+1;
			letterSize = 0;
		}
		else letterSize++;
	}

	letterNow = letterPosition;
	for(int j=1;j<=letterSize;j++) b[sentance.size() - letterSize + j - 1 - letterPosition] = sentance.at(letterNow++);
	

	for(int i=0;i<sentance.size();i++) cout<<b[i];
} 

四、效果:


解题笔记(8)——翻转句子单词顺序 问题描述:输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变。句子单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。         思路:先逆转整个句子,然后从首字符开 阅读详情

相关推荐

C语言强化(九)翻转句子单词顺序

这是到很常见的题目,非常简单,但你用到数据结构了吗,或者说你用对了吗?

SexyCode 2737

队列和栈-044-翻转单词顺序列(栈)

文章目录题目描述分析代码 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?...

记录求学阶段的技术学习、项目实践与成长思考。 548

DDR5内存Training全解析:从信号完整性到CS训练模式的实战指南

本文深入解析了DDR5内存Training的全过程,从信号完整性挑战到CS训练模式(CSTM)的实战应用。文章详细阐述了Training在DDR5高频时代的关键作用,对比了In-Band与OOB两种架构,并拆解了Intel MRC的核心训练步骤,为硬件与固件工程师提供了诊断与优化系统稳定性的实用指南。

weixin_29252171的博客 912

剑指offer :翻转单词顺序

题目: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 思路: 方法1:借助一个栈...

pynash123的博客 229

翻转句子单词顺序 的n种方法汇总

题目:输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变。句子单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。第一种方法:首先将整个句子翻转,然后再将其中的每个单词翻转。因为先颠倒句子中的所有字符。这时,不但翻转句子单词顺序,而且单词内字符也被翻转了。我们再颠倒每个单词内的字符。由于...

qq_40604853的博客 2919

输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变

题目:输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变,例如输入“I am a student”,输出“student a am I” 解题思路:定义一个字符型数组str[],内为原英文句子,定义一个字符型数组str1[],为重组后的英文句子。先求出英文句子的长度,利用for循环从元英文句子末尾向句首寻找空格符,当寻找到空格符时就将此个空格符前面一个英文单词复制到str1[]中,直

dengchuanjing的博客 7605

41 翻转单词顺序: 输入一个英文句子翻转句子单词顺序,但单词内字的顺序不变

一、题目 输入一个英文句子翻转句子单词顺序,但单词内字的顺序不变。为简单起见,标点符号和普通字母一样处理。 举例说明 例如输入字符串”I am a student. ”,则输出”student. a am I”。 二、解题思路 第一步翻转句子中所有的字符。比如翻转“I am a student. ”中所有的字符得到”.tneduts a m a I”,此时不但翻转句子单词顺序,连单词内...

皮卡丘的博客 3549

10、翻转句子单词顺序

题目:输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变。 句子单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 分析: 方法一、可以利用scanf函数以空格为分隔符的特性,按空格将字符串拆分成单词,并分别存入数组中,最后逆序输出即可。 方法二、二次颠倒字符。首先将

zwb8848happy的专栏 3582

翻转句子单词顺序 C语言

C语言 字符串 算法

MoXiaopeng的专栏 1万+

python输入一个英文句子翻转句子单词顺序_58-01 翻转单词顺序

题目输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student.",则输出"student. a am I"。C 语言题解第一步翻转句子中所有的字符。比如翻转"I am a student."中所有的字符得到".tneduts a ma I",此时不但翻转句子单词顺序,连单词内的字符顺序也被翻转了。第二...

weixin_39876145的博客 1881

【程序员面试题】翻转句子单词顺序

翻转句子单词顺序。 题目:输入一个英文句子翻转句子单词顺序,但单词内字符的顺序不变。 句子单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 一开始看到这题其实可以很容易地想到将每个单词保存在一个字符串里面,整个句子用一个二维字符串数组来保存,然后反转这个二维数组就可以了。事

不负热爱 1475

剑指offer解法汇总73- 翻转单词序列

原题链接:翻转单词序列_牛客题霸_牛客网 描述: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词顺序翻转了,正确的句子应该是“I am a nowcoder.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 输入: "nowcoder. a am I" 返回值: "I am a n

分享+记录 270

剑指offer(C++)-JZ73:翻转单词序列(数据结构-队列 & 栈)

C++实现——翻转单词序列(数据结构-队列 & 栈)

翟天保的博客 1万+

[剑指OFFER]之栈和队列:JZ73 翻转单词序列

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词顺序翻转了,正确的句子应该是“I am a nowcoder.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

EndlessProcess的专栏 354

AUTOSAR TcpIp模块 以太网配置开发2

someip协议之tcpIp协议

汽车电子电气 1059

DA14580软件开发快速入门

DA14580软件开发快速入门,可以让你快速了解DA14580的开发流程,大大加快学习进度

上一篇: 判断整数序列是不是二元查找树的后序遍历结果
下一篇: 用俩个栈实现队列
wonka438
博客等级 码龄17年 2粉丝 20原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值