首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。
admin
2019-03-29
119
问题
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. 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; }
解析
由于编写字符串相关代码能够反映程序员的编程能力和编程习惯,与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。
由于本题需要翻转句子,我们先颠倒句子中的所有字符。这时,不但翻转了句子中单词的顺序,而且单词内字符也被翻转了。我们再颠倒每个单词内的字符。由于单词内的字符被翻转两次,因此顺序仍然和输入时的顺序保持一致。
还是以上面的输入为例子。翻转“I am a student.”中所有字符得到“.tneduts a ma I”,再翻转每个单词中字符的顺序得到“students. a am I”,正是符合要求的输出。
转载请注明原文地址:https://kaotiyun.com/show/IxmZ777K
0
程序员面试
相关试题推荐
Thecommitteehasanticipatedtheproblemsthat______intheroadconstructionproject.
TheUnitedStatesInterstateHighwaySystemisaninfrastructurefeatofunprecedentedproportions.Notonlydoesitjoinallfi
Remoting简介
输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下:{intm_nKey;ListNode*m_pNext;};
删除串中指定的字符
存储过程和函数的区别
若按下Shift键同时用鼠标分别单击幻灯片中的标题、文本和图片对象,则()。A.仅最后单击的对象被选中B.三个对象被同时选中C.仅标题对象被选中D.仅图形对象被选中
信息安全包括四大要素:技术、制度、流程和()。
任何一个团队从开始组建到最终达到绩效要求,需要一个周期。依据塔克曼群体发展模型,结合IT服务管理工作特性,将团队建设周期分为四个阶段,它们分别是(未按正确次序排列):①风暴期②表现期③组建期④规范期团队建设周期的正确排序为______。
随机试题
A.错语B.独语C.郑声D.狂言E.谵语神志不清、语无伦次、声高有力,该病况称为
下列哪项不属于机械性损伤()
下图为不透水层上的排水廊道,已知:垂直于纸面方向长100m,廊道水深h=2m,含水层中水深H=4m,土壤的渗透系数k=0.001cm/s,廊道的影响半径R=200m,则廊道的排水流量Q为()。
根据《反价格垄断规定》的规定,经营者对交易相对人实行强制交易的正当理由中不包括()。
某居民企业(非金融企业)2015年12月31日归还境内关联企业一年期借款本金1000万元,另支付利息费用80万元,关联企业对该居民企业的权益性投资额为400万元,该居民企业的实际税负高于境内关联企业,同期同类银行贷款年利率为6%。该居民企业2015年在计算
房地产的供求状况可以分为()。
“不找任何借口”是世界500强企业关于优秀员工的12条核心标准之一。其意思包括()
《北京人在纽约》中有一句经典的台词“如果你爱他,就把他送到纽约,那里是天堂:如果你不爱他,那就把他送到纽约,那里是地狱。”这句话体现()。
有关外国市场进入模式的问题人们提到外国市场进入,会提到以下类型的基本模式:出口、许可、特许经营、通过直接投资建立合资企业或全资企业、管理合同和国际工程承包等,这些并不可以完全相互替代。请回答以下相关问题。[对外经济贸易大学2011国际商务硕士]出
将代数式转换成程序设计中的表达式为【】。
最新回复
(
0
)