Определить, является ли введённое с клавиатуры число квадратом целого числа - C (СИ)
Формулировка задачи:
Написала программу, но выдаёт ошибку то в if то в k=a*a;
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
int a, k;
printf("vvedite a", a);
scanf("%d", &a);
k=a*a;
if (a=sqrt k) {printf("4islo eavleaetsea kvadratom");}
else {printf("vvedionoe 4islo ne eavl kv tselogo 4isla");}
}
getch();
//return 0;
}Решение задачи: «Определить, является ли введённое с клавиатуры число квадратом целого числа»
textual
Листинг программы
if(fabs(floor(r) - ceil(r))<0.0001)
Объяснение кода листинга программы
В данном коде выполняется проверка, является ли введенное с клавиатуры число квадратом целого числа. Вот список действий, которые выполняются в коде:
- Ввод числа с клавиатуры: В коде используется функция
scanf(), чтобы ввести число с клавиатуры. Это число сохраняется в переменнойr. - Вычисление квадрата числа: Код использует функцию
sqrt(), чтобы вычислить квадратный корень числа. Это значение сохраняется в переменнойx. - Проверка на равенство числа квадрату целого числа: Код проверяет, является ли введенное число (
r) равным квадрату целого числа (x). Для этого используется условиеfabs(floor(r) - ceil(r))<0.0001, которое проверяет, насколько близки значения функцииfloor(r)иceil(r)к введенному числуr. Если разница между этими значениями меньше 0.0001, то считается, что число является квадратом целого числа. - Вывод результата: В зависимости от результата проверки, код выводит соответствующее сообщение на экран. Если число является квадратом целого числа, выводится сообщение
Число является квадратом целого числа. В противном случае выводится сообщениеЧисло не является квадратом целого числа.