Дана строка символов. Получить все символы, расположенные между первой и последней точками - C (СИ)
Формулировка задачи:
Решение задачи: «Дана строка символов. Получить все символы, расположенные между первой и последней точками»
- #include <stdio.h>
- #include <string.h>
- int main() {
- char s[] = "home.dream.summer.circus";
- int b = 0, e = strlen(s) - 1;
- for (; b <= e && s[b] != '.'; ++b);
- for (; e >= 0 && s[e] != '.'; --e);
- if (b >= e) {
- puts("ERR: something terribly wrong");
- return 1;
- }
- s[e] = '\0';
- puts(&s[b+1]);
- return 0;
- }
Объяснение кода листинга программы
В этом коде постановка задачи следующая: получить все символы, расположенные между первой и последней точками. В первой строке объявляется переменная s типа char с пустой строкой в качестве значения. Далее, в следующих двух строках, определяются начальное и конечное значение переменных b и e. Первая итерация цикла начинается с позиции b и продолжается до тех пор, пока не встретится точка или не будет достигнуто значение e. Вторая итерация цикла начинается с позиции e и продолжается до тех пор, пока не встретится точка или не будет достигнуто значение b. Если значение b больше или равно значению e, то выводится сообщение об ошибке и возвращается 1. Затем, в строке с s[e] = '\0';, символ ноль заменяется на символ конец строки, тем самым обрезая строку до символа перед последней точкой. И в заключительной строке выводится результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д