Написать функцию, определяющую , является ли введенный символ цифрой - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание - "Напишите функцию boolean IsDigit(char c) (Java), function IsDigit(c:char):boolean (Pascal), bool IsDigit(unsigned char c) (C/C++), определяющую, является ли данный символ цифрой или нет." Ссылка на него - http://informatics.mccme.ru/mod/statements/view.php?id=10249#1 . Задание я сделал, оно даже прошло все тесты :
#include <stdio.h>

    int main(void);
    void isItDigit(unsigned char symbol);
int main(void)
    {
        unsigned  char symbol;
        scanf("%c", &symbol);
        isItDigit(symbol);
        return 0;
    }
void isItDigit(unsigned char symbol)
   {
      unsigned char symbol1;
      if (((int) symbol <=57) && ((int)symbol >= 48))
        printf("yes\n");
     else 
        printf("no\n");
   }
Но дело в том,что моя функция возваращет "void", то есть ничего. А в задании написано,что функция должна быть bool. Как выглядит такая функция?

Решение задачи: «Написать функцию, определяющую , является ли введенный символ цифрой»

textual
Листинг программы
int isDigit(char c)
{
    return ((c>='0') && (c<='9'))?1:0;
}

Объяснение кода листинга программы

В данном коде написана функция isDigit, которая принимает в качестве аргумента символ c и возвращает 1, если этот символ является цифрой, и 0 в противном случае. Вот список действий, которые происходят в этой функции:

  1. Символ c сравнивается с символами от '0' до '9' включительно. Если символ больше или равен '0' и меньше или равен '9', то возвращается 1. Иначе возвращается 0.

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы