Определить, целое число ввел пользователь или вещественное - C (СИ)
Формулировка задачи:
Доброго времени. Нужно определить целое число ввел пользователь или вещественное. Как это можно сделать?
Решение задачи: «Определить, целое число ввел пользователь или вещественное»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
#define PRECISION (1.0e-15)
#define is_integer(n) ( fabs(ceil(n) - floor(n)) < PRECISION )
int main(void) {
double n;
while ( printf("Number: ") && scanf("%lf", &n) == 1 )
printf("is%s an integer.\n", ( is_integer(n) ) ? "" : "n't");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream.h и math.h
- Определение константы PRECISION, которая равна 1.0e-15
- Определение функции is_integer(n), которая проверяет является ли число n целым
- Вход в цикл while, который будет выполняться до тех пор, пока пользователь вводит число и выводит его на экран
- С помощью функции scanf осуществляется ввод числа в переменную n
- Вывод на экран сообщения о том, является ли число целым или нет
- Возврат 0, что означает успешный конец работы программы