String42. Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые начинаются и заканчиваются одной и той же буквой.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
program String42; var S:String; i,Num:integer; beginC:Char; begin Write('S: '); Readln(S); i:=1; Num:=0; beginC:=S[1]; While (i<=Length(S)) do begin if (S[i]=' ') and (S[i-1]<>' ') then if S[i-1]= beginC then inc(Num); if (S[i]=' ') then beginC:=s[i+1]; inc(i); end; Writeln(Num); end. |
Другие задачи из раздела String можно посмотреть здесь.
в программе нет проверки последнего слова
if s[length(S)] = beginC then
inc(Num);
И куда её вставить?
на Python:
еще вариант (на Python):