华为机试—倒置英文句子中单词的字母顺序
2014-12-30 14:12
405 查看
输入一个英文句子,包含字母大小写、逗号、句号和空格。把英文句子中的单词的字母顺序倒置。
测试结果,可能想的不周全,欢迎查漏补缺:
#include <iostream> using namespace std; void revese(char* start,char* end) { while(start<end) { *start=*start^*end; *end=*start^*end; *start=*start^*end; start++; end--; } } int main() { char* p=new char[1024]; gets(p); int len=strlen(p); int i=0,j=0; while(i<len) { //判断字符ch是否为英文字母,若为小写字母,返回2,若为大写字母,返回1。若不是字母,返回0 if(isalpha(p[i])) { char *start=p+i; j=i+1; while(j<len) { if(isalpha(p[j])) j++; else break; } char *end=p+j-1; revese(start,end); } i=j+1; j++; } for(i=0;i<len;i++) cout<<p[i]; cout<<endl; return 0; }
测试结果,可能想的不周全,欢迎查漏补缺:
相关文章推荐
- 华为机试:倒置英文句子中单词的字母顺序
- 倒置英文句子中单词的字母顺序
- 题目:倒置英文句子中单词的字母顺序
- 倒置英文句子中单词的字母顺序
- 将一个句子里的英文单词倒叙输出,但不改变单词里的字母顺序
- 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- "输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student
- 倒置英文字母中单词的字母顺序
- 华为机试-倒置英文句中的单词
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- 将一个英文句子单词顺序逆置(LeetCode | Reverse Words in a String)
- 每天学习一点编程(2)(输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变)
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。(笔试题) 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- (Java)输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开
- 实现单词倒置 而不改变单词内部的字母顺序 11月16日
- 剑指Offer——翻转英文句子中的单词顺序
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 一道面试题--翻转英文句子中的单词顺序
- 如何将英文句子中的单词位置倒置, 而不改变单词内部结构呢?