Подсчет символов, строк и слов
Программа считает количество введенных пользователем символов, строк и слов. Чтобы программа корректно закончила работу и правильно посчитала, после набора строк надо перейти на новую строку, после чего нажать Ctrl + D (по крайней мере в терминале Linux).
#include int main() < char ch, flag=-1; unsigned c=0; // символы unsigned w=0; // слова unsigned n=0; // строки while ((ch = getchar()) != EOF) < if (ch == '\n') n++; else c++; if (ch == ' ' || ch == '\n') flag = -1; else if (flag == -1) < flag = 1; w++; >> printf("Символы: %u\n", c); printf(" Слова: %u\n", w); printf(" Строки: %u\n", n); >
one two three four Символы: 16 Слова: 4 Строки: 3
X Скрыть Наверх
Решение задач на языке C
Подсчет количества слов в строке
Подсчитать количество слов во введенной пользователем строке. Считаем, что слова разделяются исключительно одним пробелом, а первый и последний символы строки не являются пробелами.
str — строка;
len — длина строки;
count — счетчик слов в строке.
Алгоритм решения задачи:
- Измеряем длину введенной пользователем строки.
- Устанавливаем счетчик слов в значение 0.
- В цикле посимвольно перебираем строку. Если очередной символ является пробелом, увеличиваем счетчик слов.
- Поскольку в цикле не было учтено последнее слово (после него нет пробела), мы должны после цикла увеличить счетчик слов на единицу. Однако, если была введена пустая строка, то этого делать не надо. Поэтому перед увеличением счетчика добавляем проверку, что длина строки больше нуля.
Программа на языке Паскаль:
var str: string; len, count, i: integer; begin readln(str); len := length(str); count := 0; for i := 0 to len do if str[i] = ' ' then count := count + 1; if len > 0 then count := count + 1; writeln(count); end.
one two three 3
Примечание. Программа не будет корректно работать, если слова разделены больше, чем одним пробелом.
Второй вариант задачи: подсчитать количество слов в строке и вывести длину каждого слова.
var str, s: string; arr: array[1..255] of string; n,i,l: byte; begin readln(str); l := length(str); n := 0; s := ''; for i:=1 to l do if ((str[i] = ' ') or (i = l)) and (s <> '') then begin n := n + 1; if (i = l) and (str[i] <> ' ') then s := s + str[i]; arr[n] := s; s := ''; end else if str[i] <> ' ' then s := s + str[i]; writeln(n); for i:=1 to n do writeln(arr[i],' - ', length(arr[i])); end.
Пример выполнения программы:
one two three 3 one - 3 two - 3 three - 5
Третий вариант задачи: Подсчитать количество слов в строке и вывести все слова в столбик.
var s, w: string; l,i: byte; count: byte; begin readln(s); l := length(s); w := ''; count := 0; for i:=1 to l do if s[i] <> ' ' then w := w + s[i] else if w <> '' then begin writeln(w); w := ''; count := count + 1; end; if w <> '' then begin // последнее слово после которого нет пробела writeln(w); count := count + 1; end; writeln(count); end.
Как определить количество слов в строке python?
There’s a great utility for this — here it is https://word-counter.app/ . It’s quick, simple and straightforward and it’s free, so take advantage of it.
20 февраля 2023
I use word-counter.app to count words. Very comfortably. Possibility to count words in Google Docs, Word. It is possible to make a word counter in Python. https://word-counter.app/
25 марта 2023
And you can do it in a much simpler way. On this website https://word-counter.app/ you can do it without any problems. The interface is as simple and straightforward as possible so you can get up to speed very quickly.
28 декабря 2022
можно использовать метод split у строки. Этот метод разбивает строку на список слов, разделенных пробелами или другими символами, которые указываются в качестве аргумента. Затем можно получить количество слов, полученных после разбиения, используя функцию len
s = "Это наш пример строки" words = s.split() num_words = len(words) print(num_words)
В этом примере мы разбиваем строку s на список слов, разделенных пробелами, используя метод split , затем используем функцию len для получения количества элементов в списке. В итоге будет выведено число 4, так как в строке s 4 слова.
Обратите внимание, что метод split без аргументов разбивает строку на список слов, разделенных пробелами. Если вы хотите разбить строку по другому символу, например, запятой, то можете передать этот символ в качестве аргумента методу split . Например:
s = "Это, пример, строки" words = s.split(",") num_words = len(words) print(num_words)
В этом примере мы разбиваем строку s на список слов, разделенных запятыми, и в итоге будет выведено число 3, так как в строке s 3 слова.
Вы также можете использовать регулярные выражения для разбиения строки по более сложным паттернам. Для этого можете использовать модуль re и функцию re.split . Например:
import re s = "Это, пример строки" words = re.split(r'[,\s]\s*', s) num_words = len(words) print(num_words)
В этом примере мы разбиваем строку s на список слов, разделенных запятыми или пробелами, и в итоге будет выведено число 3, так как в строке s 3 слова.
Обратите внимание, что в некоторых случаях может быть требуется учитывать не только пробелы и запятые, но и другие символы, которые могут разделять слова. В таком случае вы можете использовать регулярные выражения или просто вручную разбивать строку на список слов, используя циклы и условные операторы.
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode
Как подсчитать количество слов в тексте С#
Сегодня мы узнаем самый простой и примитивный способ подсчета количества слов в тексте с помощью C#. Данный вариант состоит всего из нескольких строк и прост в реализации.
Итак, создадим программу, в которой пользователь будет вводить в консоль текст, а программа будет в ответ писать количество слов в нём.
Весь код состоит всего из нескольких строк:
Console . WriteLine ( «Введите текст:» ) ;
string [ ] textMass ;
string text = Console . ReadLine ( ) ;
textMass = text . Split ( ‘ ‘ ) ;
Console . WriteLine ( «Количество слов:» ) ;
Console . WriteLine ( textMass . Length ) ;
Console . ReadLine ( ) ;
Как видно из представленной реализации, мы создаем массив строк textMass и простую строковую переменную text. В переменную text считывается введенный пользователем текст (строка 3), а в массив textMass добавляются элементы из строки text, расчлененные пробелом при помощи метода Split (строка 4). Иными словами, каждый элемент данного массива — это как раз одно слово, заключенное в тексте между пробелов.
Например, если в консоли будет написано «Мама мыла раму», то элементы массива будут следующими: textMass[0] = «Мама», textMass[1] = «мыла», textMass[2] = «раму».
Дальше программа просто выведет на консоль количество элементов данного массива (6 строка) — это и будет количество наших слов.
Примечание: если в тексте встречаются знаки препинания, то они будут помещены в массив вместе с предшествующим им словом. Однако условлено, что после знаков препинания должен стоят пробел, поэтому на качество подсчета слов это никак не повлияет.

Скачать исходник данной программы: