Я попросил пользователя ввести строку в основной функции в моей программе и сохранить ее userString
и хочу показать, сколько слов есть.Как подсчитать количество слов в строке?
Это функция, которую я намерен позвонить из основных:
int countWords(string d) {
string words = " ";
for (int e = 0; e < d.length(); e++) {
if (isspace(d[e])) {
cout << "The string " << words << "word(s). ";
}
}
return words;
}
Я где-то читал, что функция должна фактически подсчитать количество пробелов (поэтому я использовал isspace()
), а не сами слова ,
Как мне подсчитать количество слов в строке и отобразить их в одной и той же функции? У меня проблемы с этим, и я получаю ошибки.
Я также не могу использовать библиотечные функции.
Ожидаемый результат:
- Строка "2020" имеет одно слово.
- Строка «Привет, ребята» имеет два слова.
Я предлагаю вам добавить 'int count = 0;' поверх вашей функции, а затем выполнить свой собственный экзамен ples (и, возможно, еще пара) на бумаге, воображая, что должно произойти с 'count', когда вы сталкиваетесь с каждым значением' d [e] '. Если вы не знаете, как выразить это в коде, тогда это будет лучший вопрос, но я уверен, что вы можете разработать какую-то логику/алгоритм для того, как человек будет обрабатывать количество слов, а я Я не вижу попыток выразить, чем в вашем текущем коде. Подсказка: вы можете быть заинтересованы в переходах из космоса в буквы и обратно (т.е. 'isspace (d [e]) &&! Isspace (d [e-1])'. –
ваша функция не делает никакого подсчета и просто выводит пробелы –