程序员人生 网站导航

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

栏目:互联网时间:2014-10-09 05:19:16

第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 ",count); return 0; }

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

(需要邀请码的请留言)

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐