Найти в строке количество слов, начинающихся на большую букву - C (СИ)
Формулировка задачи:
Написал программу нахождения таких слов, но находит если в слове есть большая буква.Что надо внести в программу что бы находил именно первую большую букву?
int Count(char *s)
{
int i, count;
for(i = count = 0; s[i] != '\0'; i++)
if (isupper(s[i]))
count++;
return count;
}
if (Count(word) == 1)
puts(word);
}Решение задачи: «Найти в строке количество слов, начинающихся на большую букву»
textual
Листинг программы
int Count (char *s)
{
int i, count;
for(i=count=0; s[i] != '\0'; i++)
if (isupper(s[0])&& strchr("+-/*%", s[0]))
count++;
return count;
}
Объяснение кода листинга программы
В данном коде функция Count принимает в качестве аргумента указатель на строку s. Далее, в цикле for происходит проход по всем символам строки s. Если первый символ текущего слова (начинающегося с пробела) является большой буквой и принадлежит к определенному набору символов (+-/*%), то переменная count увеличивается на единицу. После прохода по всем символам строки s, функция возвращает значение переменной count.
- Входные данные:
s- указатель на строку, в которой необходимо посчитать количество слов, начинающихся с большой буквы и принадлежащих к определенному набору символов.
- Алгоритм работы:
-
- Инициализировать переменные
iиcountнулевыми значениями.
- Инициализировать переменные
-
- Начать цикл
for, который будет выполняться до тех пор, пока не будет достигнут нулевой символ строкиs.
- Начать цикл
-
- Внутри цикла проверить, является ли первый символ текущего слова (начинающегося с пробела) большой буквой и принадлежит ли он к определенному набору символов (
+-/*%).
- Внутри цикла проверить, является ли первый символ текущего слова (начинающегося с пробела) большой буквой и принадлежит ли он к определенному набору символов (
-
- Если условие выполняется, то увеличить значение переменной
countна единицу.
- Если условие выполняется, то увеличить значение переменной
-
- После прохода по всем символам строки
s, вернуть значение переменнойcount.
- После прохода по всем символам строки
-