Выполнить условие, если за звездочкой стоит цифра - 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, чтобы указать, что программа успешно завершилась.