判断一个数的平方根是否为整数如何做

判断一个数的平方根是否为整数怎么做?int mfloat nnsqrt(m)n%1.00?yes:no这样判断好像不行哎……怎么

判断一个数的平方根是否为整数怎么做?
int m;
float n;
n=sqrt(m);
n%1.0==0?yes:no;
这样判断好像不行哎……怎么改呢?

[解决办法]
if(m * m) == n不就行了吗?如果不是整数,则是无穷的,由于精度原因,如果根不是整数,相乘后也不是整数
[解决办法]
if(m * m == n)
[解决办法]
int m;
float n;
n=sqrt(m);

int k = (int)n;
if (k*k == m)
//yes
else
//no


[解决办法]
要用整数判:

C/C++ code
#include <stdio.h>#include <math.h>int main(){      int x,y;      scanf("%d",&x);      y=(int)sqrt(x);      if (x==y*y)          printf("ok\n");          else            printf("no\n");          }