day 01

该程序使用C语言实现,通过从后向前遍历输入的字符串来找到最后一个单词的长度。如果字符串末尾没有空格,整个字符串长度即为最后一个单词的长度。示例代码中,利用`strlen`获取字符串长度,`gets`读取输入,然后遍历并计数直到遇到空格。主要问题包括处理无空格字符串的情况和选择合适的输入函数。
摘要由CSDN通过智能技术生成

题目描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入:

输出:

说明:

思路

用gets输入字符串,然后从后向前遍历,设置一个新的变量,用来记录从后往前遍历了几个,当遍历到空格时停止,并输入该变量的大小,即为字符串最后一个单词的长度,当没有遇到空格时,整个字符串的长度即为最后一个单词的长度。

具体实现

时间复杂度

O(n)

小结

c语言掌握的不是很熟练很多基础知识都忘了,strlen获取字符串长度,gets()输入一个字符串,定义字符串变量可以用char a[],即一个数组。

遇到的问题:

1.在编程过程中忽略了字符串向前遍历没有空格的情况。

2.用scanf读取时,读到空格就停止了,改为gets()输入后,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值