题目描述:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例:
输入:hello nowcoder
输出:8
解题思路:
既然要输出最后一个单词,那就倒着来统计,一旦遇到空格则完成统计;若只有一个单词,还要加上判断是否完成了整个字符串的遍历,如果全遍历完都没碰到空格,那就只有一个单词。
测试代码:
#include <stdio.h>
#include <string.h>
int main()
{
char s[5000]; //定义字符串长度
fgets (s, 5000, stdin); //输入获取字符串
int number = 0;
int snumber = strlen (s);
// printf ("%d\n", snumber); 测试总长度
//字符串倒序统计
for (int i=snumber-2; s[i]!=' '; i--) //为啥减2,请看一下fgets()函数
{
number++;
//若只有一个单词的话,就没有空格,那么就检测是否遍历完了
if ( i == 0 )
break;
}
printf ("%d\n", number);
return 0;
}
————————————————
最后声明一下,本文章是在作者:翟天保Steven 这位前辈的基础上去改写出来的C语言版本, 如有侵权请联系我删除或者修改 下面是我本人借鉴出处的链接。
原文链接:https://blog.csdn.net/zhaitianbao/article/details/118787331