1. 前言
在 C 語言中,根號運算(如平方根、立方根)是數值分析與幾何計算中不可或缺的重要元素。本文將詳細介紹如何在 C 語言中進行根號運算,從基礎到進階應用一應俱全。您將學會 sqrt
函數的用法、牛頓法的實作,以及如何利用 pow
函數計算任意次方根,並搭配實際程式碼範例,讓您能輕鬆上手。
2. C 語言中的根號運算基礎
math.h
標準函式庫
在 C 語言中,如需使用數學相關函數,需包含標準函式庫 math.h
。此函式庫內建多種數學函數,例如計算平方根的 sqrt
、計算立方根的 cbrt
等。使用這些函數時,請務必在程式最上方加入 #include <math.h>
,以便引用函式庫。
3. 使用 sqrt
和 cbrt
函數計算根號
平方根 (sqrt
)
sqrt
函數可計算所指定數值的平方根。此函數參數需為非負數,並以 double
型態傳回結果。以下程式碼範例示範如何使用 sqrt
計算平方根:
#include <stdio.h>
#include <math.h>
int main(void) {
double num = 16.0;
double result = sqrt(num);
printf("數值 %.2f 的平方根是 %.2f。
", num, result);
return 0;
}
此程式將 16.0 賦值給 num
,計算其平方根並輸出。結果會顯示為「數值 16.00 的平方根是 4.00。」
立方根 (cbrt
)
cbrt
函數可計算數值的立方根。cbrt
可處理負數,非常適合用於計算負數的立方根。以下程式碼範例會計算 0 到 9 的立方根,並將立方根再三次方還原為原始值:
#include <stdio.h>
#include <math.h>
int main(void) {
for (double x = 0.0; x < 10.0; x+=1.0) {
double ans = cbrt(x);
printf("%f : %f
", x, ans * ans * ans);
}
return 0;
}

4. 使用牛頓法計算根號
牛頓法簡介
牛頓法(Newton’s Method)是一種求方程式根的迭代算法,常用於計算平方根或其他開根號。當無法直接使用 sqrt
函數,或需要更高自訂性的運算時,牛頓法十分實用。
實作範例
以下程式碼展示如何利用牛頓法計算平方根:
#include <stdio.h>
int main(void) {
double x, y, n;
printf("請輸入一個數字:
");
scanf("%lf", &n);
x = 1;
while(1) {
x = x - (x * x - n) / (2 * x);
y = x * x - n;
if ((y <= 0.00000001) && (y >= -0.00000001)) {
break;
}
}
printf("sqrt(%lf) = %lf
", n, x);
return 0;
}
本程式會請用戶輸入數字,並以牛頓法計算其平方根。
5. 用 pow
函數計算任意次方根
pow
函數用法
pow
函數用於計算指定數值的次方。利用此函數,除了平方根、立方根外,也能求任意次方根。例如,計算平方根時,指數可設為 0.5。
#include <stdio.h>
#include <math.h>
int main(void) {
for(int i = 0; i < 5; i++) {
printf("%d 的平方根是 %lf
", i + 1, pow(i + 1, 0.5));
}
return 0;
}
本程式將計算 1 至 5 的平方根並輸出。
6. C 語言根號運算的應用
實務應用場景
根號運算廣泛應用於幾何問題、統計分析等情境。例如,計算兩點間距離、由變異數計算標準差時,常需用到平方根。
錯誤處理
進行根號運算時,若參數為負數需特別注意。sqrt
遇到負數會回傳錯誤,但 cbrt
則可正確處理負數。若需計算負數的平方根,務必先進行錯誤檢查與適當處理。
7. 總結
本文介紹了在 C 語言中計算根號的多種方法,從 sqrt
、cbrt
等基本用法到牛頓法自訂計算,以及用 pow
計算任意次方根,都搭配實際程式碼範例說明。根號運算是解決多種實務問題的重要技能,希望這篇文章能幫助您更有效率地掌握相關技巧。