В строке определить количество символов между первым и вторым двоеточием ':' - C (СИ)
Формулировка задачи:
Затрудняюсь понять, как запихнуть в условие чтобы сначала проверял после первого двоеточия (считал символы), а потом на останавливался после второго двоеточия, объясните, пожалуйста, голова не варит (
#include <stdio.h> #include <string.h> void main () { char s[40]; int i,j,count; printf ("input string: "); gets (s); for (i=0; s[i]!='\0'; i++ ) { if (i==':') count++; }
Решение задачи: «В строке определить количество символов между первым и вторым двоеточием ':'»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define TRUE 1 #define FALSE 0 int main() { char s[40]; int i, j, count = 0; int SymFound = FALSE; printf("input string: "); gets(s); for (i = 0; s[i] != '\0'; i++) { if (SymFound && s[i] != ':') count++; if (s[i] == ':') SymFound = !SymFound; } printf("%d\n", count); system("pause"); return 0; }
Объяснение кода листинга программы
В этом коде:
- Включаются необходимые заголовочные файлы
- Определяются значения TRUE и FALSE
- Создается переменная count для хранения количества символов между первым и вторым двоеточием ':'
- Создается переменная SymFound для отслеживания текущего символа
- Пользователю предлагается ввести строку
- В цикле происходит проход по каждому символу строки
- Если текущий символ не равен следующему символу (не считая символ двоеточия), и SymFound установлен в FALSE, то увеличивается счетчик count
- Если текущий символ равен символу двоеточия, то SymFound меняется на противоположное значение
- После прохода по всем символам выводится значение count
- Вызывается функция pause для приостановки выполнения программы до нажатия клавиши
- Программа возвращает 0, что означает успешное завершение работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д