版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l1606468155/article/details/79735775
1000ms 65536K
给定由大写,小写字母和空格组成的字符串,返回 最后 一个单词的长度。
如果输入中不存在单词,返回 00。
注意:
“单词”是指不包含空格符号的字符串
例如:
对于字符串"hello World"(不带引号), 那么返回的结果是 55;
对于字符串"abc abc "(不带引号),那么返回的结果就是 33。
输入格式
输入仅一行,为字符串 ss(长度不超过 1000010000)。
输出格式
输出 ss 中最后一个单词的长度。
样例输入1
Today is a nice day
样例输出1
3
样例输入2
The quick brown fox jumps over the lazy dog
样例输出2
3
注意:上面样例2输入最后有空格!
#include<stdio.h>
#include<stdlib.h>
int len(char* str);
int main(void)
{
char* str = (char*)malloc(sizeof(char)*10000);
gets(str);
printf("%d",len(str));
return 0;
}
int len(char* str)
{
int length = 0,i = 0,flag = 0;
while(*(str+i) != '\0')//没有到最后
{
if(*(str+i) != ' ')
{
if(flag == 1)
length = 0;
flag = 0;
length++;
}
else
{//为了防止最后的空格清空长度,这里加入一个标志变量
flag = 1;
}
i++;
}
return length;
}