Написать функцию, определяющую , является ли введенный символ цифрой - 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 .
Задание я сделал, оно даже прошло все тесты :
Но дело в том,что моя функция возваращет "void", то есть ничего. А в задании написано,что функция должна быть bool. Как выглядит такая функция?
#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");
}Решение задачи: «Написать функцию, определяющую , является ли введенный символ цифрой»
textual
Листинг программы
int isDigit(char c)
{
return ((c>='0') && (c<='9'))?1:0;
}
Объяснение кода листинга программы
В данном коде написана функция isDigit, которая принимает в качестве аргумента символ c и возвращает 1, если этот символ является цифрой, и 0 в противном случае. Вот список действий, которые происходят в этой функции:
- Символ c сравнивается с символами от '0' до '9' включительно. Если символ больше или равен '0' и меньше или равен '9', то возвращается 1. Иначе возвращается 0.