原题
题目描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于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; }