题目描述

计算字符串最后一个单词的长度,单词以空格隔开。

输入描述:

一行字符串,非空,长度小于5000。

输出描述:

整数N,最后一个单词的长度。

示例1

hello world

输出

5

算法思路:

题目要求输出最后一个单词的长度,输入单词之间以空格隔开,从左向右查询,直至字符串中倒数第二个的"空格字符"才是最后一个单词的起始(字符串默认最后一个字符为空格‘\0’),这样查找起来效率不高而且比较复杂。可以反向查找,即从整个字符串末尾开始查找,假设字符串str的总长为s,则最后一个字符的位置为s-1(非末尾空字符),依次向前查找,找到下一个空格为止。过程中计算出到该空格的字符数,即最后一个单词的长度。

程序设计:

输入字符串:

image.png

题目未说明字符串大学,故需要申请动态内存大小,用到malloc函数,记住需引用头文件 #include

字符串长度获取:

最笨方法:直接计算

image.png

这里直接拿到的是整个字符串长度的大小,包含末尾‘\0’

较简单方法:使用C内置方法 strlen(),该方法返回的是字符串的长度,不包含末尾的‘\0’,且需要引用头文件#include

image.png

算法逻辑:当使用strlen()方法得到字符串长度leng,则最后一个字符下标为leng-1,我们需要判断leng-1是否为空格,是空格则返回当前计数,否则继续查找,直到有空格出现。

image.png

注意:isspace()函数是用来验证是否是空字符,需引用头文件。

c语言计算字符串最后一个单词长度,2020-05-28华为机考题--字符串最后一个单词的长度(C语言实现)...相关推荐

  1. 华为机试--字符串ASC码+偏移量实现加密

    华为机试–字符串ASC码+偏移量实现字符串加密的JS实现 题目描述:给出原文字符串str,通过对字符串的每个字母进行改变来实现加密,加密方式是在每一个字母str[i]偏移特定数组元素a[i]的量.数组 ...

  2. 华为机考题 004字符串分割

    转自:http://blog.csdn.net/sxl_545/article/details/52412203 华为机考题 004字符串分割 标签: 华为机考刷题 2016-09-02 11:10  ...

  3. 华为机试-字符串子序列II

    华为机试-字符串子序列II 1.思路 2.代码 1.思路 理解这个抽象题目,其实就是一个求最长子序列的题目.求最长子序列我们一般使用动态规划来做. 与以往不同的是,我们需要倒序求最长子序列,这样可以求 ...

  4. 华为机试——字符串最后一个单词的长度

    题目描述 计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 ...

  5. 华为机试字符串分割c语言,2014年华为上机机试c语言标题和答案

    2014年华为上机机试c语言题目和答案 自己code出来的,结果是正确的,但是其中还有很多的优化之处,还请各位大神多多指导. 代码打包: http://download.csdn.net/detail ...

  6. 华为机试—字符串处理专题

    文章目录 (leetbook)字符串-125.验证回文串 5. 最长回文子串 131.分割回文串(见回溯) HJ1计算字符串最后一个单词的长度,单词以空格隔开 HJ2输出输入字符串中含有该字符的个数 ...

  7. 华为机试 HJ27 查找兄弟单词

    题目链接:https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68?tpId=37&tqId=21250&r ...

  8. 牛客网华为机试题 字符串问题 记录

    一.题目描述 写出一个程序,接受一个由字母.数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数.不区分大小写. 输入描述: 第一行输入一个由字母和数字以及空格组成的字符串,第二行 ...

  9. 华为机试——字符串压缩(stringZip)

    /* 二.题目描述(40分): 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串. 压缩规则: 1. 仅压缩连续重复 ...

最新文章

  1. 如何在存储过程中得到被调用存储过程的结果集
  2. unity win7 全屏 输入法没有显示_win7电脑无法打字怎么处理 win7电脑无法打字解决方法【详解】...
  3. MOSS2010站点大文件上传设置
  4. ActivityInfo taskAffinity
  5. 负数在计算机怎样表示与存储
  6. File类、递归、字节流
  7. 前端学习(3267):js中this在类中的表现
  8. 用Python发一封图文并茂的邮件 荐
  9. 95-910-144-源码-FlinkSQL-Flink的UDF
  10. Pictures Test
  11. vue.js三种安装方式
  12. Thrift原理与使用实例
  13. 世界主要城市地铁地图
  14. android中如何如何让dailog横屏显示
  15. python爬百度贴吧_python爬虫-爬取百度贴吧帖子加图片
  16. android手机ipad传照片,教你iPhone与安卓跨平台如何传照片
  17. JNA实战系列:JNA与C语言中的数据类型映射以及复杂结构体传参示例
  18. PTA:7-46 新浪微博热门话题 (30 分)
  19. 古方怡雪祛斑效果怎么样,实话实说!
  20. 利用重抽样获取mgcv包的广义可加模型函数曲线的可信区间(3)

热门文章

  1. Java串口通信-JSerialComm
  2. TFS + Git - 同步代码时遇到异常 an error was raised by libgit2.dll. ...
  3. 用python做算法初步流程图_13位Python大牛历时一个月打造的Python系统学习流程图,超详细!...
  4. [buuctf.reverse] 103_[CFI-CTF 2018]powerPacked
  5. Meme没有送我一套房,但带我回到了童年
  6. Prim最小生成树板子
  7. 学生选课系统测试文档(简单)
  8. StringUtils.isNumeric判断是否是数字字符串
  9. 让ChatGPT显示图片和动态GIF图
  10. 天刀碧玉刀服务器维护,《天涯明月刀》第五批天涯合璧服务器维护公告