当前位置: 首页 > news >正文

正定城乡建设网站巢湖网站制作

正定城乡建设网站,巢湖网站制作,快站建站怎么收费的,深圳龙华邮政编码用C语言将一句话的单词倒置,标点不倒置。 比如输入: i like shanghai. 输出得到: shanghai. like i 这道题目有很多种做法,既可以用递归,也可以分成两部分函数来写,本文就详细来讲解分装为两个函数的做法。…

用C语言将一句话的单词倒置,标点不倒置。

比如输入: i like shanghai.

输出得到: shanghai. like i

这道题目有很多种做法,既可以用递归,也可以分成两部分函数来写,本文就详细来讲解分装为两个函数的做法。

思路:我们可以轻易实现一个字符串的倒置,可以先将整个字符串来倒置,然后再设置函数来倒序每一个单词,用空格作为区分每个单词的标志,这样下来就可以实现将一句话单词倒置,标点不倒置。

主函数如下所示。

int main()
{char s[100] = { 0 };gets_s(s);int start=0, end=strlen(s);reverse(start, end, s);reverse_word(start, end, s);printf("%s", s);return 0;
}

1.reverse函数的构建

首先构建reverse函数来实现整个字符串的逆转,只需创建一个中间变量即可。

void reverse(int start, int end, char s[])
{end--;while (start < end){char tmp = s[start];s[start] = s[end];s[end] = tmp;start++;end--;}
}

需要注意的是,为了保证下标不在标点的位置,即为了不交换符号,end一定要-1。

如果不想再函数内部减一的话,可以在进行函数传参的时候减一。 

2.reverse_word函数的创建

接下来创建将每一个单词逆转的函数,我们使用两个while循环

外层循环的循环条件为while (s[end] != '\0'),当end的位置走到'\0'的位置时,循环结束。

内部的while循环是将end移位到一个单词的末尾,也就是空格的位置,与在开头的start共同将一个单词锁定,接着就可以再次调用上面的reverse函数实现单词的逆序。

要注意的是,单词的末尾可能是'\0',为了防止s[end]取到零值而导致函数提前结束,我们将不等于零值也变为循环的条件。

将一个单词逆序之后,我们将目标转换为下一个单词,先将end的值赋给start,再让end移位到下一个空格处,锁定第二个单词

void reverse_word(int start, int end, char s[])
{start = 0, end = 0;while (s[end] != '\0'){while (s[end] != ' '&&s[end]!='\0'){end+=1;}reverse(start, end, s);start = end+1;if(s[end]!='\0')end += 1;}
}

 完整代码:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>void reverse(int start, int end, char s[])
{end--;while (start < end){char tmp = s[start];s[start] = s[end];s[end] = tmp;start++;end--;}
}
void reverse_word(int start, int end, char s[])
{start = 0, end = 0;while (s[end] != '\0'){while (s[end] != ' '&&s[end]!='\0'){end+=1;}reverse(start, end, s);start = end+1;if(s[end]!='\0')end += 1;}
}
int main()
{char s[100] = { 0 };gets_s(s);int start=0, end=strlen(s);reverse(start, end, s);reverse_word(start, end, s);printf("%s", s);return 0;
}

文章如果有问题的话,还请大佬们不吝赐教!

如果您觉得我写的不错,不妨点个赞支持一下哦~

 

http://www.mmbaike.com/news/73497.html

相关文章:

  • 网站关键词整体方案阿里巴巴国际站官网
  • Wordpress页面添加小工具自己搜20条优化措施
  • 网站推广邮箱怎么做百度一下你就知道首页官网
  • wordpress页面内成都百度推广账户优化
  • 肯德基网站是哪家公司做的上海aso优化公司
  • 电子商务网站开发是什么seo网站推广优化
  • 上海企业免费建站电话销售如何快速吸引客户
  • 大型网站的建设培训网站排名
  • 一台云服务器做多个网站一级域名二级域名三级域名的区别
  • 飞沐视觉北京网站建设公司太原关键词排名优化
  • 柳州网站建设33石家庄seo结算
  • 网站域名骗子seo模拟点击有用吗
  • 艺术网页设计欣赏优化大师是什么意思
  • 做搜狗手机网站点击软湖南网站seo地址
  • 网站开发 公司什么平台可以推销自己的产品
  • 做网站推广销售百度一下你就知道官方网站
  • dedecms 如何关闭网站今日新闻
  • 深圳高端网站建设美工百度自动点击器怎么用
  • 免费个人网站建站申请一下电脑零基础培训学校
  • 电子商务是坑人专业吗杭州seo论坛
  • 长沙外贸网站建设朋友圈广告投放平台
  • 自己制作游戏的app福州seo兼职
  • 企业网站可信认证必须做吗网络优化器
  • 58创业加盟网整站优化加盟
  • 网站建设完成以后应该怎样备份企业管理培训课程网课
  • 推荐微网站建设长沙seo公司
  • 哈市哪里网站做的好网站设计制作公司
  • 安徽网站建郑州网站策划
  • wordpress 闪图不西安seo招聘
  • 音乐网站开发可行性分析谷歌引擎搜索