输入一个英文句子,翻转句子中单词的顺序,单词内字符顺序不变
2012-09-03 10:04
465 查看
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。
处理方法是首先将整个句子翻转,然后再将其中的每个单词翻转。
代码如下:
处理方法是首先将整个句子翻转,然后再将其中的每个单词翻转。
代码如下:
#include <iostream> using namespace std; void myReverse(char*, char*); char * senReverse(char*); int main() { char sen[]="hello, I am a student!"; char *result=senReverse(sen); cout << result << endl; return 0; } void myReverse(char *start, char *end) { char temp; while(start<end) { temp=*start; *start=*end; *end=temp; start++; end--; } } char * senReverse(char *sen) { char *start=sen, *end=sen+strlen(sen)-1; myReverse(start, end); //先反转整个句子 /*此注释部分是另外一种实现,只不过看起来有些繁琐 int loc; //记录每个单词的长度 for(start=sen,end=start;(*end)!='\0';start+=loc) { loc=0; while((*end)!=' '&&(*end)!='\0'){end++, loc++;} end--; myReverse(start, end); end+=2; loc++; } */ end=start; while(*start!='\0') { if(*end==' '||*end=='\0') { myReverse(start, --end); if(*end=='\0') break; end+=2; start=end; } else ++end; } return sen; }
相关文章推荐
- C++: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。(笔试题) 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符顺序不变
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- (Java)输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 每天学习一点编程(2)(输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变)
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- java算法实现之--输入一个英文句子,翻转句子中的单词顺序,但单词内字符的顺序不变
- "输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student
- 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不改变
- 每天学习一算法系列(10)(输入一句英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以空格符隔开)
- java算法实现"输入一个英文句子,反转句子中的单词顺序,但单词内字符的顺序不变"
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- 面试题38:翻转句子中单词的顺序,单词内字符的顺序不变
- 翻转句子中单词的顺序,但单词内字符的顺序不变
- 翻转句子中单词的顺序,但单词内字符的顺序不变