[Требуется stdbool.h
и ctype.h
]
bool isWholeNumber(char* num)
{
// Check if the input is empty
if (*num == '\0') return false;
// Ignore the '+' sign if it is explicitly present in the beginning of the number
if (*num == '+') ++num;
// Check if the input contains anything other than digits
while (*num)
{
if (!isdigit(*num)) return false;
++num;
}
// You can add other tests like
// Ignoring the leading and trailing spaces
// Other formats of whole number (1.0, 1.00, 001, 1+0i, etc.)
// etc. (depends on your input format)
// The input is a whole number if it passes these tests
return true;
}
Это должно работать и для больших целых чисел.
Надеюсь, вы получили лог c и способ подходить к этой задаче. Просто перебирайте каждый символ в строке и проверяйте их в соответствии с вашими потребностями.