如題囉!
雖然大家通常都學「c++語言」,但小弟我學的是「c語言」。
日前在看c語言語法書時,看到了一題題目,但就是不是很明白題意,希望會c語言的大大能幫我看一下!並幫我翻譯一下題意,然後順便用「c語言」來解這題,希望別用太深奧的語法(小弟我c語言尚未很精通),可以的話~希望能用「c語言」的「Recursion」語法來解這題!
題目:
The harmonic mean of two numbers is obtained by taking the inverse of the two numbers, averagin them, and taking the inverse of the result. Write a function that takes two double arguments and returns the harmonic mean of the two numbers.
最後~謝謝各位大大的用心,也感謝各位花時間來解救小弟的苦腦!
2007-09-30 06:44:37 · 4 個解答 · 發問者 龍騎士 1 in 電腦與網際網路 ➔ 程式設計
這不是遞迴方法…
#include
#include
double hm(double X1, double X2){
return 2*X1*X2/(X1+X2);
}
int main(int argc, char* argv[]){
//=====START=====//
double x1,x2;
printf("Input x1: "),scanf("%lf",&x1);
printf("Input x2: "),scanf("%lf",&x2);
printf("Harmonic Mean is %lf\n",hm(x1,x2));
//=====END=====//
system("PAUSE");
return 0;
}
2007-09-30 20:04:32 補充:
寫一個函式,接收二個參數,計算兩數的調和平均數。
方法:遞迴。
2007-10-10 15:28:06 補充:
書本就是我的老師。
我學 c 語言都是自學查書本。
2007-09-30 12:14:14 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋
哇靠 原PO真的是知識+魔人ㄟ 作業的題目一個字都不少 太感謝你了啦 你該不會也是"梁XX"教的吧...
2007-10-09 18:27:30 · answer #2 · answered by ..... 1 · 0⤊ 0⤋
調合平均數
例如有 a 和 b 兩數
1 / ((1/a + 1/b) / 2)
因為 (1/a + 1/b) / 2 = ((a + b) / (a * b)) / 2 = 2 * (a + b) / (a * b)
所以 1 / (2 * (a + b) / (a * b) = (a * b) / (2 * (a + b))
a, b 調合平均數 -> (a * b) / (2 * (a + b))
#include
#include
double harmonic(double x, double y){
return x*y/(2*(x+y));
}
int main(int argc, char* argv[]){
double a,b;
printf("請輸入第一個數字 a: "),scanf("%lf",&a);
printf("請輸入第二個數字 b: "),scanf("%lf",&b);
printf("a 和 b 的調合平均數 : %lf\n",harmonic(a,b));
system("PAUSE");
return 0;
}
2007-10-01 06:49:59 · answer #3 · answered by Wow 6 · 0⤊ 0⤋
請問可以跟我講解一下這題的題意嗎?
題目我有點看不太懂在問什麼的說!
謝謝您的回應!
2007-09-30 12:23:14 · answer #4 · answered by 龍騎士 1 · 0⤊ 0⤋