關於「c語言-Recursion」的問題!

2007-09-30 6:44 pm
如題囉!
雖然大家通常都學「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.

最後~謝謝各位大大的用心,也感謝各位花時間來解救小弟的苦腦!

回答 (4)

2007-10-01 12:14 am
✔ 最佳答案
這不是遞迴方法…
#include<stdio.h>
#include<stdlib.h>
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-10-10 6:27 am
哇靠 原PO真的是知識+魔人ㄟ 作業的題目一個字都不少 太感謝你了啦 你該不會也是"梁XX"教的吧...
2007-10-01 6:49 pm
調合平均數
例如有 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<stdio.h>
#include<stdlib.h>
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 12:23 am
請問可以跟我講解一下這題的題意嗎?

題目我有點看不太懂在問什麼的說!

謝謝您的回應!


收錄日期: 2021-04-27 17:14:05
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070930000015KK03139

檢視 Wayback Machine 備份