Проверить строку на присутствие каждой буквы слова key - C (СИ)
Формулировка задачи:
Нужно проверить строку на присутствие каждой буквы слова key!
Где ошибка?
#include <stdio.h> #include <string.h> #include <conio.h> int main(void) { char str[128]; bool res; printf("Enter string! "); scanf("%s",&str); printf("str = %s\n",str); for(int i(0);str[i] !='\0'; i++) { if(str[i] == 'k') res = true; if(str[i] == 'e') res = true; if(str[i] == 'y') res = true; else res = false; } printf("res = %d",res); _getch(); return 0; }
Решение задачи: «Проверить строку на присутствие каждой буквы слова key»
textual
Листинг программы
int main(int argc,char** argv) { char pszStr[MAX_PATH]; char* pCurr = pszStr; bool bFlagK = false; bool bFlagE = false; bool bFlagY = false; printf("Enter string: "); scanf("%s",&pszStr); while (*pCurr) { if ((*pCurr == 'k') || (*pCurr == 'K')) { bFlagK = true; } if ((*pCurr == 'e') || (*pCurr == 'E')) { bFlagE = true; } if ((*pCurr == 'y') || (*pCurr == 'Y')) { bFlagY = true; } ++pCurr; } if (bFlagK && bFlagE && bFlagY) { printf("Success\n"); } else { printf("Fail\n"); } return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены следующие переменные:
pszStr
- строка, в которую считывается входная строка.pCurr
- указатель, который перемещается по символам входной строки.bFlagK
,bFlagE
,bFlagY
- флаги, которые отслеживают наличие букв 'k', 'e', 'y' соответственно.
- Пользователю предлагается ввести строку.
- Используется функция
scanf
для считывания строки во входную переменнуюpszStr
. - Переменная
pCurr
инициализируется значениемpszStr
. - В цикле
while
происходит проверка каждого символа входной строки. - Если символ равен 'k' или 'K', то устанавливается флаг
bFlagK
. - Если символ равен 'e' или 'E', то устанавливается флаг
bFlagE
. - Если символ равен 'y' или 'Y', то устанавливается флаг
bFlagY
. - Переменная
pCurr
инкрементируется, чтобы перейти к следующему символу. - В конце цикла проверяется, установлены ли все три флага. Если да, то выводится сообщение
Success
, в противном случае выводится сообщениеFail
. - Код возвращает 0, завершая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д