获取str中最长单词(包括相同长度的所有单词)的下标
void longest(char* str, int* k)//获取str中最长单词的下标,存入k数组中。数组数值等于-1,表示不是最长单词下标,
{
int i = 0, j = 0, len = 0, max = 0;
char ch = 0;
while (i <= strlen(str))
{
ch = str[i++];
if (Isletter(ch))
len++;
else //只要不是字母一概设为单词的结尾
{
if (len > max)
{
max = len;
j = 0;//单词长度超过前面的最长单词,k数组下标归零
k[j++] = i - max - 1;
}
else if (len == max && max > 0)//出现相同长度的最长单词,下标存入k数组
k[j++] = i - max - 1;
len = 0;
}
}
k[j] = -1;//最后一个k数组元素赋值-1.统计结束。
}#牛客AI配图神器#
{
int i = 0, j = 0, len = 0, max = 0;
char ch = 0;
while (i <= strlen(str))
{
ch = str[i++];
if (Isletter(ch))
len++;
else //只要不是字母一概设为单词的结尾
{
if (len > max)
{
max = len;
j = 0;//单词长度超过前面的最长单词,k数组下标归零
k[j++] = i - max - 1;
}
else if (len == max && max > 0)//出现相同长度的最长单词,下标存入k数组
k[j++] = i - max - 1;
len = 0;
}
}
k[j] = -1;//最后一个k数组元素赋值-1.统计结束。
}#牛客AI配图神器#
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享