Написать функцию IsSquare(K), проверяющую, является ли K квадратом некоторого целого числа - C (СИ)
Формулировка задачи:
Описать функцию IsSquare(K ) логического типа, возвращающую
TRUE, если целый параметр K (> 0) является квадратом некоторого це-лого числа, и FALSE в противном случае. С ее помощью найти количество
квадратов в наборе из 10 целых положительных чисел
Решение задачи: «Написать функцию IsSquare(K), проверяющую, является ли K квадратом некоторого целого числа»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <locale.h> int IsSquare(int k){ if(k<0) return 0; float cmp=sqrt(k); if(fabsf(cmp - int(cmp))<0.0000001) return 1; return 0; } int main(int argc, char** argv){ setlocale(LC_ALL, "rus"); int k; printf("Введите число: "); scanf("%d", &k); printf("%s\n", IsSquare(k)?"Число является квадратом":"Число является не квадратом"); system("PAUSE"); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами и вводом/выводом
- Определение функции IsSquare(K), которая проверяет, является ли число K квадратом целого числа
- Проверка входного числа на отрицательность и возврат 0 в случае отрицательного числа
- Вычисление квадратного корня числа K с помощью функции sqrt() и сохранение результата в переменную cmp
- Проверка, является ли дробная часть от результата вычисления квадратного корня равной 0. Если да, то число K является квадратом целого числа, иначе возвращается 0
- Ввод числа K с клавиатуры с помощью функции scanf()
- Вывод на экран сообщения о том, является ли число K квадратом целого числа
- Вызов функции system(
PAUSE
) для приостановки работы программы до нажатия клавиши Enter - Конец программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д