题目:单词翻转。输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如,输入“I am a student.”,则输出“student. a am I”。

思路:先将整个句子翻转,然后再通过空格区分每个单词的范围,再将这个单词翻转。

#include

#include

#include

void RotateSentence(char *str, int from, int to);//翻转整个句子。1234=>4321

void RotateWord(char *str, int len);//翻转单词。word=>drow

void Rotate(char *str, int len);

int main()

{

int len;

char str[1000];

printf("input a string:\n");

gets_s(str, 1000);

len = strlen(str);

Rotate(str, len);

puts(str);

system("pause");

return 0;

}

void RotateSentence(char *str,int from,int to)

{

char temp;

while (from < to)

{

temp = str[from];

str[from++] = str[to];

str[to--] = temp;

}

}

void RotateWord(char *str, int len)

{

int i=0, j=0;

for (int k = 0; k < len; k++)

{

if (str[k] != ' ')

{

j++;

}

else

{

RotateSentence(str, i, j-1);

i = ++j;

}

}

}

void Rotate(char *str, int len)

{

RotateSentence(str, 0, len - 1);

RotateWord(str, len);

} 时间复杂度O(n),空间复杂度O(1)。

单词翻转字母顺序c语言,单词翻转(C语言实现)相关推荐

  1. 编写一个方法,将一段文本中的各个单词的字母顺序翻转题

    编写一个方法,将一段文本中的各个单词的字母顺序翻转题 1.任务介绍 编写一个方法,将一段文本中的各个单词的字母顺序翻转, 例如:"I like writing code best" ...

  2. 将文本中的各个单词的字母顺序翻转(Java)

    题目大意 编写一个方法,将一段文本中的各个单词的字母顺序翻转, 例如:"I like writing code best",将变成"I ekil gnitirw edoc ...

  3. python编程试题单词倒排_Python:将句子中的单词全部倒排过来,但单词的字母顺序不变...

    早上看到好友未央的一篇博文<一道google的测试工程师笔试题>,内容如下: 这是去年面试google测试工程师的一道题,题目如下: 设计一个函数,使用任意语言,完成以下功能: 一个句子, ...

  4. 编程题50 习题6-8 单词首字母大写【浙大版《C语言程序设计(第4版)》题目集 详解教程】

    编程题50 习题6-8 单词首字母大写[浙大版<C语言程序设计(第4版)>题目集 详解教程] 原题链接:习题6-8 单词首字母大写 (pintia.cn) 参考答案 #include< ...

  5. 7-30 jmu-JavaPython-统计一段文字中的单词个数并按单词的字母顺序排序后输出 (25 分)

    7-30 jmu-Java&Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出 (25 分) 现需要统计若干段文字(英文)中的不同单词数量. 如果不同的单词数量不超过10个,则 ...

  6. 7-1 jmu-JavaPython-统计一段文字中的单词个数并按单词的字母顺序排序后输出

    7-1 jmu-Java&Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出 (15 分) 现需要统计若干段文字(英文)中的不同单词数量. 如果不同的单词数量不超过10个,则将 ...

  7. python中排序英文单词怎么写_Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)...

    本文主要介绍排序最长的单词链的方法,列表中每个元素相当于一个单词,要实现列表中前一个单词末字母是下一个单词的首字母,并且这个链是最长的. 使用递归实现 words = ['giraffe', 'ele ...

  8. PTA(每日一题)7-1 jmu-JavaPython-统计一段文字中的单词个数并按单词的字母顺序排序后输出

    现需要统计若干段文字(英文)中的不同单词数量. 如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词. **注1:**单词之间以空格(1个或多个空格)为间隔. **注2 ...

  9. Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出

    现需要统计若干段文字(英文)中的不同单词数量. 如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词. 注1:单词之间以空格(1个或多个空格)为间隔. 注2:忽略空行或 ...

最新文章

  1. Observer Pattern 观察者模式
  2. AI每日精选:新加坡批准AI血管超声扫描;蔚来硅谷裁员141人
  3. YOLOv5训练coco128数据集流程
  4. ICG游戏:尼姆游戏异或解法的证明
  5. js学习总结----柯里化函数
  6. MySQL修改,表结构大幅修改
  7. EF CodeFirst下的自动迁移
  8. 阿迪达斯asp.net sql购物商城计算机设计网站作品
  9. (xd mac直装版)支持m1完美支持m1完整详细教程
  10. android设置默认浏览器下载地址,android手机如何设置默认浏览器?
  11. mysql索引一般什么数据结构_mysql索引一般使用什么数据结构
  12. 19年12月六级翻译词汇
  13. 第十章《日期与时间》第6节:ZoneId、ZoneRegion和ZoneOffset
  14. OpenSolaris/Solaris中文FAQ
  15. kafka是什么?主要用在什么场景
  16. 如何高效进行出货复核作业,提升出货准确率?
  17. 一年成为Emacs高手(像神一样使用编辑器)
  18. sql注入学习笔记(4)--sqlmap注入心得
  19. Q-Learning 、Sarsa与 DQN算法
  20. 一个域名(二级域名)怎么绑定多个ip

热门文章

  1. 使用itext将HTML 生成PDF文件
  2. 基于CNN 对车牌数字进行识别,(二)
  3. 通过Word或WLW离线发布CSDN博客
  4. 肖维勒准则matlab_莱因达 ( PauTa)准则、格拉布斯 ( Grubbs)准则、肖维纳 (Chauvenet)准则 三者的区别...
  5. iPhone内存比Android手机小,iPhone内存为什么一直这么小
  6. 多级弹出菜单jQuery插件ZoneMenu
  7. CIDR表示IP地址
  8. matlab批量导入excel表格数据,matlab导入excel表格数据-如何用matlab读取多个excel表格数据,将每个表格数......
  9. VBS脚本实现宽带上网加网页认证上网双验证
  10. 【实习】ProcessOn文件导入/导出