String53. Дана строка-предложение на русском языке. Подсчитать количество содержащихся в строке знаков препинания.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
program String53; var S:String; i,Num:integer; begin Write('S: '); Readln(S); i:=1; Num:=0; While (i<=Length(S)) do begin if ord(S[i]) in [32,33,34,40,41,44,45,46,58,59,63] then inc(Num); //32-' ' 33-'!' 34-'"' 40-'(' 41-')' 44-',' 45-'-' 46-'.' 58-':' 59-';' 63-'?' //обработка многоточия if i>3 then if (s[i-2]='.') and (s[i-1]='.') and (s[i]='.') then dec(Num,2); inc(i); end; Writeln(Num); end. |
Другие задачи из раздела String можно посмотреть здесь.
Комментарии: