Количество строчных и прописных букв в строке

Посчитать количество строчных (маленьких) и прописных (больших) букв в введенной строке. Учитывать только английские буквы.

  1. Ввести две переменные для подсчета строчных и прописных букв. Присвоить им нули.
  2. Перебирая символы строки от первого до последнего (номер последнего определяется длиной строки),
    1. если очередной символ — это буква, которая не меньше «a» и не больше «z», то увеличить на 1 переменную-счетчик строчных букв,
    2. иначе аналогично проверить принадлежность символа диапазону от «A» до «Z». Если символ ему принадлежит, то увеличить счетчик прописных букв.

Как видно из алгоритма, небуквенные символы вообще не учитываются. Тот факт, что буквы можно сравнивать связан с тем, что в таблице кодов символов они идут друг за другом по порядку. Например, буква «a» имеет код на единицу меньше, чем «b», т.е. стоит перед «b».

Pascal

количество строчных букв в строке паскаль

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);
writeln(let_b);
end.



heLLo WOrld tEmp
9
5
Язык Си


#include < stdio.h>

main() {
char str[255];
int i,let_b, let_s;
gets(str);
let_s = 0;
let_b = 0;
for (i=0; str[i]!='\0'; i++)
if (str[i] >= 'a' && str[i] <= 'z') let_s += 1;
else
if (str[i] >= 'A' && str[i] <= 'Z') let_b += 1;
printf("%d\n", let_s);
printf("%d\n", let_b);
}
Python

количество заглавных букв в строке python (питон)

s = input()
let_s = 0
let_b = 0
for i in s:
if 'a' <= i <= 'z':
let_s += 1
else:
if 'A' <= i <= 'Z':
let_b += 1
print(let_s)
print(let_b)
КуМир

алг количество разных букв
нач
лит s
цел i, len, let_b, let_s
ввод s
len := длин(s)
let_s := 0
let_b := 0
нц для i от 1 до len
если s[i] >= "a" и s[i] <= "z" то
let_s := let_s + 1
иначе
если s[i] >= "A" и s[i] <= "Z" то
let_b := let_b + 1
все
все
кц
вывод let_s, нс
вывод let_b, нс
кон
Basic-256


input s$
let_s = 0
let_b = 0
for i=1 to length(s$)
l$ = mid(s$,i,1)
l = asc(l$)
if l>=asc("a") and l<=asc("z") then
let_s = let_s + 1
else
if l>=asc("A") and l<=asc("Z") then
let_b = let_b + 1
endif
endif
next i
print let_s
print let_b

В Бейсике при сравнении самих букв (а не их кодов напрямую) большие учитывались также, как и маленькие. Хотя если написать выражение ("A" = "a"), то оно возвращает ложь.

Оцените статью
Добавить комментарий