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

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

Описать функцию IsSquare(K ) логического типа, возвращающую TRUE, если целый параметр K (> 0) является квадратом некоторого це-лого числа, и FALSE в противном случае. С ее помощью найти количество квадратов в наборе из 10 целых положительных чисел

Код к задаче: «Написать функцию IsSquare(K), проверяющую, является ли K квадратом некоторого целого числа - C (СИ)»

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;
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

15   голосов, оценка 3.933 из 5


СДЕЛАЙТЕ РЕПОСТ