第12题:最后一个单词的长度
来源:程序员人生 发布时间:2014-10-09 05:19:16 阅读次数:3111次
第12题:最后一个单词的长度
给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。
如果不存在最后一个单词,返回0
注意:
“单词”是指不包含空格符号的字符串
例如:
s = “hello World”, 那么返回的结果是5
格式:
第一行输入字符串s,然后输出s中最后一个单词的长度。
关于此题:
这道题有个陷阱,题目说是 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
(需要邀请码的请留言)
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠