目录

整体思路

代码实现

ReverseStr函数的实现

代码的整体实现

整体思路

这个题目的意思是什么呢?我举个例子:有这样的一句话,"i like beijing.",我们想要得到的结果是"beijing. like i"。那么我们应该用什么方法来实现呢?我们应该有个大体的思路:我们可以先将整个句子逆序得到".gnijieb ekil i",然后再将每个单词逆序得到"beijing. like i"。这样我们是不是就达到想要的结果了呢。那么知道了怎么做,我们就需要用代码来实现。

代码实现

#include<stdio.h>
#include<string.h>int main()
{char arr[101] = {0};gets(arr)  //兄弟们记住,这里最好不要用scanf,因为scanf读取到空格就会停止int len = strlen(arr);  //后面我们需要用到字符串的长度//逆序整句话ReverseStr(arr,arr+len-1);  //用函数来实现这个功能,后面还会再用到
}

这里关键就是ReverseStr函数的实现,这个函数既可以用来逆序整句话,也可以用来逆序单独的单词,我们只需要控制传进的参数就可以了。

ReverseStr函数的实现

void ReverseStr(char *left,char *right)
{while(left<right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}
}

在逆序完整句话之后,我们就来实现对单独单词的逆序

char* cur = arr;
while(*cur)
{char *start = cur;  //将每个单词的首字母的字符给startwhile(*cur != ' ' && *cur != '\0')  //这里不等于'\0'防止数组越界{cur++;}ReverseStr(start,cur-1)if(*cur != '\0')  //防止当cur指向'\0'时跳过‘\0’指向下一个位置,从而导致程序无法停止cur++;
}

这些完成了就基本实现了这个功能,下面就是代码的整体实现

代码的整体实现

#include<stdio.h>
#include<string.h>void ReverseStr(char* left, char* right)
{while (left < right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}
}int main()
{char arr[101] = { 0 };gets(arr);int len = strlen(arr);//逆序整句话ReverseStr(arr, arr + len - 1);//单词逆序打印char* cur = arr;while (*cur){char* start = cur;while (*cur != '\0' && *cur != ' '){cur++;}ReverseStr(start, cur-1);if (*cur != '\0')cur++;}printf("%s", arr);return 0;
}

今天就分享到这里了,祝大家在以后写代码的路上越写越顺。


如何将一句英语句子的单词倒置相关推荐

  1. 脱口而出的100句英语句子

    Any day will do? 哪一天都可以? Any messages for me? 有我的留言吗? Are you by yourself? 你一个人来吗? All right with yo ...

  2. Python多种方法实现句子中单词倒置(好未来2017笔试题)

    问题描述:将一句话的单词进行倒置,标点不倒置.比如 I like beijing. 经过函数后变为:beijing. like I 代码: def rev1(s):     return ' '.jo ...

  3. 如何做到输入一个英语句子,将句中单词分行打印输出

    要求:         输入一个英文句子(以句号结束),要求将句中单词分行打印. 解答如下: #include<stdio.h> int main() {char c; //取一个字符变量 ...

  4. python编程常用英语单词500个_20个英语句子记住500个单词,太实用了!

    原标题:20个英语句子记住500个单词,太实用了! 1. Practice makes perfect. 熟能生巧. 批注:运用了押头韵的写法,p对p;再如:pride and prejudice(傲 ...

  5. 英语考研语法--什么是英语句子?(刘晓艳--不就是语法和长难句吗)

    (一)简单句 中文是可以没有主语的,没有谓语的,没有宾语. 中文没有主语的例子:                 让他出去.          中文没有动词(谓语)的例子:               ...

  6. 传说中的100句英语可以帮你背7000单词

    发信人: heather (认真完成事儿--happy!), 信区: English 标  题: 传说中的100句英语可以帮你背7000单词 发信站: 郁金香BBS站 (Fri Dec  8 11:2 ...

  7. 大学计算机英语句子,万能句大学英语句子大全

    不管是初中还是高中特别是大学,我都听到很多人说作文难写,那是你积累不够,我们要要成积累句子的习惯,这样对于提升写作能力非常显著.接下来小编在这里给大家带来万能句大学英语句子大全,希望对你有所帮助! 1 ...

  8. 英语句子(每日一句)

    每天记录英语句子,每日添加更新! All we have to decide is what to do with the time that is given us . --我们所有的抉择无外乎如何 ...

  9. 学java记不住单词怎么办_【英语单词和句子记不住怎么办?我很想学好英语,但是记不住句子和单词.】作业帮...

    1.外籍教师说:每天听半小时英语,培养语感(注意,是无意识地听),我们小时候也是这样才学会说话的.你可以在休闲中播,但只可以是半小时! 2.抄得多自然熟,知识点抄抄抄.. 3.设立错题本(非常有效), ...

最新文章

  1. iOS技术篇1-CocoaPods
  2. vs2015 Preprocessor
  3. FFmpeg再学习 -- SDL 环境搭建和视频显示
  4. MVC5 Controller构造方法获取User为空解决方法
  5. android123 zhihuibeijing 新闻中心-新闻 页签 ViewPagerIndicator实现
  6. 【51单片机快速入门指南】4.4.2:Mahony AHRS 九轴姿态融合获取四元数、欧拉角
  7. GM也坐不住了的s9t9
  8. PHP intval() 函数
  9. set 有序吗js_2021了,你的vue实践够熟练了吗?源码思维呢?
  10. python list 的深浅拷贝探索
  11. 如何在服务器中安装mysql 以及安装禅道
  12. xgboost算法_XGBoost 原理 及 常见面试题
  13. 凸优化第八章几何问题 8.6 分类
  14. Mac如何破解管理员密码
  15. python opencv 函数库说明
  16. 新西兰计算机预科学费,新西兰留学预科学费
  17. 产品经理如何实现自我提升
  18. Java课程设计税率_梁勇(Danniel Liang) java教材例题:java程序购买额按税率求营业税 java中数值保留2位小数的方法...
  19. 三分钟学会数据库, UPDATE 更新
  20. 2010年IT十大人物猜想

热门文章

  1. 【Fuzzy】不确定规划:模糊规划模型
  2. Jenkins下载插件过慢,安装失败问题解决
  3. catkin_make, cmake, catkin build区别
  4. JS实现考试题目系统倒计时自动交卷(转载)
  5. Mac 下载安装go之后 go version显示zsh: command not found: go
  6. QT中setLayout无效的问题
  7. 计算机网络试题及答案
  8. 服务降级 熔断机制
  9. 51单片机读写WTV语音芯片
  10. 从0开始学习blockchain