首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。
admin
2014-11-15
36
问题
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. a am I”。
选项
答案
由于本题需要翻转句子,我们先颠倒句子中的所有字符。这时,不但翻转了句子中单词的顺序,而且单词内字符也被翻转了。我们再颠倒每个单词内的字符。由于单词内的字符被翻转两次,因此顺序仍然和输入时的顺序保持一致。 还是以上面的输入为例子。翻转“I am a student.”中所有字符得到“.tneduts a ma I”,再翻转每个单词中字符的顺序得到“students. a am I”,正是符合要求的输出。 参考代码: /////////////////////////////////////////////////////////////////////// // Reverse a string between two pointers // Input: pBegin - the begin pointer in a string // pEnd - the end pointer in a string /////////////////////////////////////////////////////////////////////// void Reverse(char *pBegin, char *pEnd) { if(pBegin == NULL || pEnd == NULL) return; while(pBegin < pEnd) { char temp = *pBegin; *pBegin = *pEnd; *pEnd = temp; pBegin ++, pEnd --; } } /////////////////////////////////////////////////////////////////////// // Reverse the word order in a sentence, but maintain the character // order inside a word // Input: pData - the sentence to be reversed /////////////////////////////////////////////////////////////////////// char* ReverseSentence(char *pData) { if(pData == NULL) return NULL; char *pBegin = pData; char *pEnd = pData; while(*pEnd != ’\0’) pEnd ++; pEnd--; // Reverse the whole sentence Reverse(pBegin, pEnd); // Reverse every word in the sentence pBegin = pEnd = pData; while(*pBegin != ’\0’) { if(*pBegin == ’ ’) { pBegin ++; pEnd ++; continue; } // A word is between with pBegin and pEnd, reverse it else if(*pEnd == ’ ’ || *pEnd == ’\0’) { Reverse(pBegin, --pEnd); pBegin = ++pEnd; } else { pEnd ++; } } return pData; }
解析
转载请注明原文地址:https://kaotiyun.com/show/sxmZ777K
0
程序员面试
相关试题推荐
输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树10
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,
不开辟新空间完成字符串的逆序
删除字符串中的数字并压缩字符串(神州数码以前笔试题),如字符串”abc123de4fg56”处理后变为”abcdefg”。注意空间和效率。(下面的算法只需要一次遍历,不需要开辟新空间,时间复杂度为O(N))
把个人的信息进行设置,显示图片“火箭发射”,与其他人共享网络摄像机功能。
在Google搜索引擎中搜索多个关键词“office”,“WPS”。
从当前界面开始,到“电话和调制解调器的选项”中,将系统中的标准56000bps调制解调器删除。
将金山网镖应用程序规则列表中的应用程序QQ2009删除。
信息技术的根本目标是()。
随机试题
根据需求规律,在其他条件不变的情况下,若农产品价格上升,则农产品的需求量将()。
属静脉肾盂造影禁忌证的是
患者,女性,40岁,胆道手术后,T管引流2周,拔管前先试行夹管。此时应注意观察的内容是
某在用圬工拱桥,位于厂区主干道,交通繁忙且重车较多,受业主委托,需对进行桥梁承载能力的检测评定,试完成以下相关分析和检测评定。检算后对该桥进行荷载试验,荷载作用下拱圈下缘横向最大缝宽为0.25mm,卸载后缝宽0.05mm,拱顶截面上游、下游两个测点的挠
下列关于理财规划建议书封面的说法,错误的是( )。
个人商用房贷款的贷款额度不得超过所购商用房价值的()。
在教育史上_______最早提出“教育遵循自然"的观点。
法国语言学家梅耶说:“有什么样的文化,就有什么样的语言。”所以,语言的工具性本身就有文化性。如果只重视听、说、读、写的训练或语音、词汇和语法规则的传授,以为这样就能理解英语和用英语进行交际,往往会因为不了解语言的文化背景,而频频出现语词歧义、语用失误等令人
下列自然现象说法错误的是:
在我国,“安乐死”被认为是非法的,因为其侵犯了自然人的()
最新回复
(
0
)