Поскольку за последним словом в предложении пробела нет, то количество слов в предложении будет на единицу больше количества пробелов.
var
i,n:integer;
s:string;
begin
Writeln('Введите текст, разделяя слова ровно одним пробелом');
Readln(s);
n:=0;
for i:=1 to Length(s) do
if s[i]=' ' then Inc(n);
Writeln('Количество слов в тексте равно ',n+1)
end.
<em><u>Тестовое решение:</u></em>
Введите текст, разделяя слова ровно одним пробелом
Это текст, количество слов в котором нам нужно посчитать.
Количество слов в тексте равно 9
Пусть первое число записано в виде a₁a₂a₃, второе - b₁b₂b₃, а поразрядные суммы находятся как c₁=a₁+b₁, c₂=a₂+b₂, c₃=a₃+b₃
Очевидно, что поскольку a,b ∈ [0;9], то min(c)=0, max(c)=18.
Пусть результирующее число D имеет запись d₁d₂d₃, d₁,d₂,d₃ ∈ [0;18],
тогда D запишется как c₁c₂c₃, если c₁<c₂ и как c₂c₁c₃ в ином случае.
Следовательно, две первые "цифры" в результате всегда следуют в порядке неубывания.
А) 171412 - разделяется только как 17 14 12, 17>14, это убывание, а оно НЕДОПУСТИМО.
В) 121419 - разделяется только как 12 14 19, сумма 19 НЕДОПУСТИМА.
С) 81714 - разделяется только как 8 17 14, 8<17, это неубывание и оно ДОПУСТИМО.
D) 15117 - разделяется только как 15 11 7, 15>14, это убывание, а оно НЕДОПУСТИМО.
E) 4809 - корректно не разделяется на три части и это НЕДОПУСТИМО.
Ответ: C
Uses crt;
var a,sum:integer;
begin
sum:=0;
repeat
read(a);
if (a mod 6=0) or (a mod 11=0) then sum:=sum+a;
until a=0;
writeln(sum);
<span>end.</span>
Объяснение:
1.
<u>n</u><u> - исходное число,
</u>
<u>sum</u><u> - сумма четных чисел.</u>
<u />
var
n: longint;
sum: integer;
begin
readln(n);
sum := 0;
while n > 0 do begin
if n mod 10 mod 2 = 0 then
sum := sum + n mod 10;
n := n div 10;
end;
writeln(sum);
end.
2.
<u>str </u><u>- строка;
</u>
<u>len </u><u>- количество символов в строке;
</u>
<u>let_s, let_b </u><u>- количество строчных (маленьких) и прописных (больших) букв.</u>
<u />
var
str: string;
i, len, let_b, let_s: byte;
begin
readln(str);
len := length(str);
let_b := 0;
let_s := 0;
for i:=1 to len do
if (str[i] >= 'a') and (str[i] <= 'z') then
let_s := let_s + 1
else
if (str[i] >= 'A') and (str[i] <= 'Z') then
let_b := let_b + 1;
writeln((let_s/len)*100:5:2);
writeln((let_b/len)*100:5:2);
writeln;
end.