- 用例子學 C 語言時間
- 用例子學 C 語言- 主頁
- C 語言示例- 簡單程式
- C 語言示例- 迴圈/迭代
- C 語言示例- 模式
- C 語言示例- 陣列
- C 語言示例- 字串
- C 語言示例- 數學
- C 語言示例- 連結串列
- C 語言程式設計實用資源
- 用例子學 C 語言- 快速指導
- 用例子學 C 語言- 資源
- 用例子學 C 語言- 討論
C 語言中的平方根程式
求一個數的平方根的過程可以分成兩個步驟。第一步是求出整數部分,第二步是求出小數部分。
演算法
我們在下面推匯出一個求平方根的演算法 −
START Step 1 → Define value n to find square root of Step 2 → Define variable i and set it to 1 (For integer part) Step 3 → Define variable p and set it to 0.00001 (For fraction part) Step 4 → While i*i is less than n, increment i Step 5 → Step 4 should produce the integer part so far Step 6 → While i*i is less than n, add p to i Step 7 → Now i has the square root value of 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.htm
廣告