C 语言中的平方根程序
求一个数的平方根的过程可以分为两个步骤。第一步是求整数部分,第二步是求小数部分。
算法
我们在这里推导出一个求平方根的算法 −
开始 步骤 1 → 定义值 n 以求平方根 步骤 2 → 定义变量 i 并将其设置为 1(用于整数部分) 步骤 3 → 定义变量 p 并将其设置为 0.00001(用于小数部分) 步骤 4 → 当 i*i 小于 n 时,增加 i 步骤 5 → 到目前为止,步骤 4 应该产生整数部分 步骤 6 → 当 i*i 小于 n 时,将 p 添加到 i 步骤 7 →现在 i 有 n 的平方根值 STOP
伪代码
该算法的伪代码可以推导如下 −
procedure square_root( n ) SET precision TO 0.00001 FOR i = 1 TO i*i < n DO i = i + 1 END FOR FOR i = i - 1 TO i*i < n DO i = i + precision END FOR DISPLAY i AS square root end procedure
实现
该算法的实现如下 −
#include <stdio.h> double squareRoot(double n) { double i, precision = 0.00001; for(i = 1; i*i <=n; ++i); //Integer part for(--i; i*i < n; i += precision); //Fractional part return i; } int main() { int n = 24; printf("Square root of %d = %lf", n, squareRoot(n)); return 0; }
输出
程序的输出应为 −
Square root of 24 = 4.898980
mathematical_programs_in_c.html