Проверить, содержатся ли в символьном массиве все буквы латинского алфавита - C (СИ)
Формулировка задачи:
Проверить, содержатся ли в символьном массиве все буквы латинского алфавита. Если содержатся, то вывести слово YES, иначе – слово NO.
Решение задачи: «Проверить, содержатся ли в символьном массиве все буквы латинского алфавита»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void alphabetical_control(char*);
int main()
{
char s[255] = "";
puts("Enter line:");
fgets(s, 254, stdin);
alphabetical_control(s);
return 0;
}
void alphabetical_control(char* str)
{
char al_b[] = "qwertyuiopasdfghjklzxcvbnm", b_al[] = "QWERTYUIOPASDFGHJKLZXCVBNM";
for(int i = 0; al_b[i]; i++){
if(!strchr(str,al_b[i]) && !strchr(str,b_al[i])){
printf("NO!\nCharacter '%c' in the string is not found.", al_b[i]);
exit(0);
}
}
puts("YES!");
}
Объяснение кода листинга программы
В этом коде определен массив символов al_b, который содержит строчные буквы латинского алфавита, и массив символов b_al, который содержит прописные буквы латинского алфавита.
Функция alphabetical_control принимает на вход строку str и проверяет, содержит ли она все буквы латинского алфавита (как строчные, так и прописные).
В цикле по массивам al_b и b_al проверяется наличие каждого символа в строке str. Если символ не найден, то выводится сообщение NO! и программа завершается.
Если все символы найдены, то выводится сообщение YES!.