Определить длину самого короткого слова в строке
Задача
Дана строка, состоящая из английских слов, разделенных пробелами и знаками препинания. Определить длину самого короткого слова.
Решение
Описание переменных:
- w - длина очередного слова
- min - длина самого короткого слова
Алгоритм решения задачи:
- Если очередной символ строки является буквой, то увеличить значение переменной w.
- Иначе
- проверить не меньше ли значение w (при этом значение w не должно быть равно 0) чем min; если это так, то перезаписать значение min;
- обнулить значение w.
Программа на языке Паскаль:
var s: string; i, w, min: byte; begin readln(s); min := 255; w := 0; // длина очередного слова for i:=1 to length(s) do if (s[i] >= 'a') and (s[i] <= 'z') then w := w + 1 else begin if (w < min) and (w <> 0) then min := w; w := 0 end; // проверка последнего слова if (w < min) and (w <> 0) then min := w; writeln('The shortest length of word: ', min); end.
Пример выполнения программы:
blue, color red! The shortest length of word: 3