返回字符串中最后一个单词的长度

img


给定一个字符串,由若干单词组成,单词前后用一些空格字符隔开,返回字符串中最后一个单词的长度

这个题更简单,读取字符串后,获取字符串长度,从后往前遍历,先过滤掉空格,从非空格字符继续往前遍历,累加计数,直到遇到空格或者到字符串的开头为止。
运行结果:

img

代码:

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

int main()
{
    char str[10005] = { 0 };
    int i, len;
    int t = 0;
    gets(str);
    len = strlen(str);
    i = len - 1; //从后往前遍历
    //往前遍历,过滤掉空格
    while (i >= 0 && str[i] == ' ')
        i--;
    //计算单词长度
    while (i >= 0 && str[i] != ' ')
    {
        t++;
        i--;
    }
    printf("%d", t);
    return 0;
}

获取字符串的长度,从后面第一个字符判断,是空格返回长度,没有空格 就是一个单词

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632