Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом - C (СИ)
Формулировка задачи:
Задача:
Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом. (количество символов в строке не более 6)
Я так понимаю нужно создать массив из 6 элементов и заполнить его чем-то. Потом из списка шестнадцатеричных(0-9,A-F,a-f) значений проверять с массивом поочередно . И если да то вывести да, если наоборот то наоборот. Как бы я не пытался ничего не выходит. Главная проблема не могу запихнуть латинские буквы в массив. зы Может и не через массив надо я не знаю как, помогите!Решение задачи: «Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include "string.h"
int main()
{
int n;
if (scanf_s("%6x", &n) && getchar() == '\n')
printf("YES\n");
else
printf("NO\n");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
1.1.
- для работы с функциями ввода/вывода 1.2. - для работы с функцией getchar() 1.3. - для работы со строками - Объявляем переменную типа int с именем n
- С помощью функции scanf_s() считываем шестнадцатеричное число в переменную n
- Если считывание прошло успешно и после него был введен символ новой строки (\n), то выводим
YES - В противном случае выводим
NO - Возвращаем 0, чтобы указать, что программа успешно завершилась