WordLength (s, n): Определение длины слова с номером n - C (СИ)
Формулировка задачи:
( WordLength ( s , n ) Определение длины слова с номером n
Решение задачи: «WordLength (s, n): Определение длины слова с номером n»
textual
Листинг программы
unsigned WordLength(const char* s, unsigned n) {
const char * b; // указатель на начало слова
unsigned word = 0; // счетчик слов
for (;;) {
// пропускаем пробелы перед словом
for (;*s && *s == ' '; ++s);
// больше нет символов в строке - выходим
if (*s == '\0') break;
// очередное слово
for (b = s; *s && *s != ' '; ++s);
// интересующее нас слово?
if (++word == n) return (s-b);
}
// нет слова с таким индексом
return 0;
}
Объяснение кода листинга программы
- Входные данные:
- s - указатель на строку, в которой нужно найти длину слова
- n - номер слова, для которого нужно определить длину
- Переменные:
- b - указатель на начало слова
- word - счетчик слов
- Основной цикл:
- Пропускаем пробелы перед словом
- Если в строке больше нет символов, выходим из функции
- Находим очередное слово
- Проверяем, является ли это слово искомым
- Если слово с таким номером найдено, возвращаем его длину
- Если слово с таким номером не найдено, возвращаем 0