字符串 Problem Description 给你一个长度为l(l<150)的字符串,字符串包含很多个单词,每2个单词之间用一个或多个空格隔开, 单词内可能包含"?",例如单词"china"可能在字符串中表示为"c?hina","?china","?c?hina"在这里认为, 单词由任意个数的任意的小写字母任意排列组成,求给定字符串中单词长度大于等于k(k<50)的个数 Input 有多组数据,第一行包含一个字符串,第二行包含一个正整数k Output 输出有一行,输出单词长度大于等于k的单词的个数 像这样的简单的包含字符串的题目,别的C语言好题目也可以一起提交,不要太难,也可C++
代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
getline(cin, s);
int k=0,sum=0,i=0,g=0,h=0,m=0;
cin >> k;
while (s[i] != '\0')
{
i = i + 1;
if (s[i] != ' ')//一个空格为间隔
{
g = g + 1;
if (g == k || g > k)
{
sum = sum + 1;
g = -150;//150个字符,避免计算错误g》2k
}
}
else
g = 0;
}
cout << sum;
return 0;
}