Количество слов в строке

Вводится строка, состоящая из слов, разделенных пробелами. Требуется посчитать количество слов в ней.

  1. Введем счетчик слов и переменную-флаг, сигнализирующую, находимся ли мы внутри слова или нет.
  2. Если очередной символ не пробел, и флаг показывает, что мы не внутри слова, то следует увеличить переменную-счетчик слов и изменить флаг.
  3. Иначе если текущий символ пробел, то установить флаг в значение «вне слова». (Когда символ не пробел, и мы находимся внутри слова, то ничего делать не надо.)

Pascal


подсчитать количество слов в строке паскаль

var
str: string;
i, count: byte;
flag: boolean;
begin
readln(str);
count := 0;
flag := false;
for i:=1 to length(str) do begin
if (str[i] <> ' ') and (flag = false) then begin
count := count + 1;
flag := true;
end
else
if str[i] = ' ' then
flag := false;
end;
writeln(count);
end.



one two tree?
3

Язык Си


посчитать количество слов в строке c++

#include < stdio.h>

main() {
char str[255];
int i,count,flag;
gets(str);
count = 0;
flag = 0;
for (i=0; str[i]!='\0'; i++)
if (str[i] != ' ' && flag == 0) {
count += 1;
flag = 1;
} else
if (str[i] == ' ') flag = 0;
printf("%d\n", count);
}

Python


посчитать количество слов в строке python

# 1-й вариант ("классический"):

s = input()
count = 0
flag = 0
for i in range(len(s)):
if s[i] != ' ' and flag == 0:
count += 1
flag = 1
else:
if s[i] == ' ':
flag = 0
print(count)

# 2-й вариант (через преобразование в список):

s = input()
s = s.split()
l = len(s)
print(l)

Метод split() разбивает строку по пробелам (по умолчанию) или символам, которые передаются как аргументы. Возвращает список.

КуМир


алг количество слов
нач
лит s
цел i, count, flag
ввод s
count := 0
flag := 0
нц для i от 1 до длин(s)
если s[i] <> " " и flag = 0 то
count := count + 1
flag := 1
иначе
если s[i] = " " то
flag := 0
все
все
кц
вывод count
кон

Basic-256



input s$
c = 0
f = 0
for i = 1 to length(s$)
b$ = mid(s$,i,1)
if b$ <> " " and f = 0 then
c = c + 1
f = 1
else
if b$ = " " then f = 0
endif
next i
print c

В Basic-256 нет возможности обращаться к символам строки как элементам массива. Поэтому приходится использовать функцию mid(), которая извлекает подстроку. Первый ее аргумент - строка, второй - номер первого символа подстроки, третий - длина подстроки.

Подписаться
Уведомить о
guest

4 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Anonim
Anonim
1 год назад

Как узнать сколько слов в предложении состоят например из трех букв

werth
werth
Ответить на  Anonim
1 год назад

Длину каждого слово считать в цикле

cheesex
cheesex
3 лет назад

Эх, жаль для Java кода нет!

Pascal

подсчитать количество слов в строке паскаль

var
str: string;
i, count: byte;
flag: boolean;
begin
readln(str);
count := 0;
flag := false;
for i:=1 to length(str) do begin
if (str[i] ' ') and (flag = false) then begin
count := count + 1;
flag := true;
end
else
if str[i] = ' ' then
flag := false;
end;
writeln(count);
end.



one two tree?
3
Язык Си

посчитать количество слов в строке c++

#include < stdio.h>

main() {
char str[255];
int i,count,flag;
gets(str);
count = 0;
flag = 0;
for (i=0; str[i]!='\0'; i++)
if (str[i] != ' ' && flag == 0) {
count += 1;
flag = 1;
} else
if (str[i] == ' ') flag = 0;
printf("%d\n", count);
}
Python

посчитать количество слов в строке python

# 1-й вариант ("классический"):

s = input()
count = 0
flag = 0
for i in range(len(s)):
if s[i] != ' ' and flag == 0:
count += 1
flag = 1
else:
if s[i] == ' ':
flag = 0
print(count)

# 2-й вариант (через преобразование в список):

s = input()
s = s.split()
l = len(s)
print(l)

Метод split() разбивает строку по пробелам (по умолчанию) или символам, которые передаются как аргументы. Возвращает список.
КуМир

алг количество слов
нач
лит s
цел i, count, flag
ввод s
count := 0
flag := 0
нц для i от 1 до длин(s)
если s[i] " " и flag = 0 то
count := count + 1
flag := 1
иначе
если s[i] = " " то
flag := 0
все
все
кц
вывод count
кон
Basic-256


input s$
c = 0
f = 0
for i = 1 to length(s$)
b$ = mid(s$,i,1)
if b$ " " and f = 0 then
c = c + 1
f = 1
else
if b$ = " " then f = 0
endif
next i
print c

В Basic-256 нет возможности обращаться к символам строки как элементам массива. Поэтому приходится использовать функцию mid(), которая извлекает подстроку. Первый ее аргумент - строка, второй - номер первого символа подстроки, третий - длина подстроки.