0
숫자에 완벽한 사각형이 없으면 false를 반환하고, 그렇지 않으면 루트를 반환합니다. 그러나이 코드에서는 항상 루트를 반환합니다. 예 : 입력 5, 루트 2퍼펙트 스퀘어 기능이 제대로 작동하지 않습니까?
main()
{
int i;
int number=0;
int result=0;
for(i=0; i<10; i++){
printf("Testing:");
scanf("%i",&number);
result = isSquare(number);
if(result==0)
printf("Fail\n");
else
printf("%i\n",result);
}
}
int isSquare(int n)
{
float root = sqrt(n);
if (n == (int) n)
return root;
else
return 0;
}
그것은 도움을 위해 작동합니다! – redundant6939