c语言中求一个数的平方根

一般的来说我们在进行开方运算时,都会使用sqrt函数进行开方运算。使用sqrt时就需要引用头文件math.h。(这里使用%d来输出整数)

#include<stdio.h>

#include<math.h>

int Mysqrt(int n)

{

       return sqrt(n*1.0);

}

int main()

{

    printf("%d\n",Mysqrt(10));

       printf("%d\n",Mysqrt(9));

       return 0;

}

运算结果如图1-1

c语言中求一个数的平方根

1-1

还有一种方法可以不使用math.h。我们利用循环来找出n使得n*n小于所求根的数,且(n+1)*(n+1)大于所求根的数。

#include<stdio.h>

int Mysqrt(int n)

{

       int i;

       for(i=0;i*i<=n;i++)

              ;

       return i-1;

}

int main()

{

    printf("%d\n",Mysqrt(10));

       printf("%d\n",Mysqrt(9));

       return 0;

}

如图1-2所示

c语言中求一个数的平方根

1-2

可以看出方法二用时要短一些。