首页 > 代码库 > 第12题:最后一个单词的长度

第12题:最后一个单词的长度

第12题:最后一个单词的长度


给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。

如果不存在最后一个单词,返回0

注意:

   “单词”是指不包含空格符号的字符串

例如:

   s = “hello World”, 那么返回的结果是5

格式:

   第一行输入字符串s,然后输出s中最后一个单词的长度。

样例输入

Today is a nice day

样例输出

3


关于此题:

这道题有个陷阱,题目说是 s = “hello World”那个这字符串也有可能是s = “hello World       ”(注意最后的空格),刚开始我没注意这个,结果浪费太多时间没找到问题所在,还有一点,做这些题时所声明的数组尽量大,如果A[100]、A[1000]什么的肯定AC不了,往大了来吧,题目没有说明测试范围也算是一个缺陷吧。


解析:

#include <stdio.h>
#include <string.h>

int main()

{
	char s[10000];
	int count = 0,i,c;
	gets(s);
	for(i = strlen(s)-1;i > 0;i--)
	{
		if(s[i] != ' ')	//从后往前看,当最后一个不是空格的时候开始计数
			count++;
		if(count > 0)	//当count计数时所在位置的单词已经是最后一个了,在出现空格时表示结束
			if(s[i] == ' ')
				break;
	}	
	printf("%d\n",count);
	return 0;
}

如果看不懂欢迎留言提问或者留下邮箱!!!o(∩_∩)o 

(需要邀请码的请留言)

第12题:最后一个单词的长度