Выполнить условие, если за звездочкой стоит цифра - C (СИ)
Формулировка задачи:
while((t=strstr(t,"*0"))!=0 || (t=strstr(t,"*1"))!=0 || (t=strstr(t,"*2"))!=0 || (t=strstr(t,"*3"))!=0 || (t=strstr(t,"*4"))!=0 || (t=strstr(t,"*5"))!=0 || (t=strstr(t,"*6"))!=0 || (t=strstr(t,"*7"))!=0 || (t=strstr(t,"*8"))!=0 || (t=strstr(t,"*9"))!=0 )
Решение задачи: «Выполнить условие, если за звездочкой стоит цифра»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <ctype.h> int is_test(const char* s){ for(;(s = strchr(s, '*')) != NULL; ++s){ if(isdigit(*(s + 1))) return 1; } return 0; } int main(void){ if(is_test("*A*9")) puts("Yes find."); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с памятью, строками и символами.
- Определяем функцию is_test, которая принимает в качестве аргумента указатель на строку.
- Используя цикл for, мы ищем символ
*
в строке. - Когда мы находим символ
*
в строке, мы проверяем, является ли следующий символ цифрой. - Если следующий символ является цифрой, мы возвращаем 1.
- Если мы доходим до конца строки и не находим цифру, мы возвращаем 0.
- В функции main мы вызываем функцию is_test с аргументом
*A*9
. - Если функция is_test возвращает 1, мы выводим сообщение
Yes find.
. - Если функция is_test возвращает 0, мы ничего не выводим.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д