原题
题目描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000(注:字符串末尾不以空格结尾)
输入描述:输入一行,代表要计算的字符串,非空,长度小于5000;
输出描述:输出一个整数,表示输入字符串最后一个单词的长度。
示例1:
输入:hello nowcoder
输出:8
解题思路
利用int型数组记录该字符串中每一个单词的长度,最后直接输出该数组中最后一个元素即可;
注意点
1、字符串长度小于5000,则字符数组的长度以及记录每个单词长度的int型数组的长度都需要大于5000;
2、使用gets函数输入一行字符串。scanf函数识别到' '(空格)则停止识别,而gets函数识别到'\n'(换行)则停止识别;
3、识别到空格则停止计数,且跳入下一个循环可以使用continue函数。
#include<stdio.h>
#include<string.h>
const int max1=5000;
int main(){
    int i,k,count[max1];//使用count[max1]记录每个单词的长度
    char str[max1];//使用str[max1]记录字符串
    gets(str);//使用gets()函数读取字符串
    k=0;//k是单词长度数组的下标
    for(i=0;i<strlen(str);i++){
        if(str[i]==' '){
            k++;//识别到空格时,需要记录下一个单词的长度
            continue;
        }
        count[k]++;
    }
    printf("%d",count[k]);
    return 0;
}