c - C语言中如何定义一个数是否是平方数?

标签 c

C语言中如何定义一个数是否是平方数?例如求任何正整数的平方根,我们使用 sqrt() C语言函数,写在<math.h>中头文件。

假设我们要求正整数 x 的平方根。该程序将采用 C 语言。

#include <stdio.h>
#include <math.h>

int main()
{
  int x;
  double sq;

  scanf("%d", &x);    
  sq = sqrt(x);    
  printf("%0.2f\n", sq);

  return 0;
}

像这样,那么现在判断一个数是否是平方数的最佳方法是什么?

最佳答案

#include <stdio.h>
#include <math.h>

int main(void)
{
    double x;

    double sq;

    scanf("%lf",&x);

    sq = sqrt(x); 

    if( sq == (int)sq )
        printf("sq is a root\n");
    else
        printf("sq is not a root\n");

    return 0;
}

关于c - C语言中如何定义一个数是否是平方数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32889417/

相关文章:

c - 如何使用 scanf() 从输入中读取直到找到换行符?

c - 分析 vector 位置的内容

c - 我应该如何在用户输入时停止 C 循环

c - strcat 不会将字符串 append 到字符数组/字符串中

命令行参数,打印列和行

c - 不同路径下的clang有什么区别?

c - 为什么我们不能取消引用常量整数?

c - 函数 ‘peachy’ 的参数太少

c - 构建抽象语法树

c - C中的大数存储在float类型中