一、问题
给定由大写,小写字母和空格组成的字符串,返回 最后 一个单词的长度。
如果输入中不存在单词,返回 00。
注意:
“单词”是指不包含空格符号的字符串
例如:
对于字符串"hello World"
(不带引号), 那么返回的结果是 55;
对于字符串"abc abc "
(不带引号),那么返回的结果就是 33。
输入格式
输入仅一行,为字符串 ss(长度不超过 1000010000)。
输出格式
输出 ss 中最后一个单词的长度。
扫描二维码关注公众号,回复:
3703007 查看本文章
样例输入1
Today is a nice day
样例输出1
3
样例输入2
The quick brown fox jumps over the lazy dog
样例输出2
3
二、我的程序;
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main(void)
{
int len,i,j=0,a=1;
char s[10000];
gets(s);
len = strlen(s);
for(i=len-1;i>=0;i--)
{
if(a&&s[i]==' ')
continue;
else if(s[i]!=' ')
{
j++;
a=0;
}
else
break;
}
printf("%d",j);
return 0;
}
三、解说
加上 a&&' ' 这是为了防止最后一个单词后面有空格;当最后面空格检测完了,a=0了就不会进入第一个if,就开始检测最后单词字符数。