[問題] 函式問題
遇到的問題: (題意請描述清楚)
請教各位大大
(1/n)+=sum(n-1)
這行要怎麼改才不會出錯@@
有問題的code: (請善用置底文標色功能)
#include<iostream>
#include<cstdlib>
using namespace std;
double sum(double n)
{
if(n==0)
return 0;
else
return (1/n)+=sum(n-1);
}
int main()
{
double n;
cout << "n= ";
cin >> n;
cout << "1/1+1/2+1/3...+1/n= " << sum(n) << endl;
system("pause");
}
補充說明:
順便再問一個問題
函式是不是只能用遞迴的方式不能用for迴圈?
小弟是新手
大大們別鞭太大力XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.6.55
推
06/25 01:00, , 1F
06/25 01:00, 1F
→
06/25 01:01, , 2F
06/25 01:01, 2F
→
06/25 01:01, , 3F
06/25 01:01, 3F
→
06/25 01:02, , 4F
06/25 01:02, 4F
→
06/25 01:03, , 5F
06/25 01:03, 5F
→
06/25 01:04, , 6F
06/25 01:04, 6F
→
06/25 01:05, , 7F
06/25 01:05, 7F
感謝V大的建議 不過小弟實在資質愚鈍 還是想不出來遞迴的的寫法 可能腦袋的資料庫根
本就沒有正確答案XD 不過倒是用for寫出來了
double sum(double n)
{
double i,s=0;
for(i=1;i<=n;i++)
s+=(1/i);
return s;
}
推
06/25 01:35, , 8F
06/25 01:35, 8F
推
06/25 01:43, , 9F
06/25 01:43, 9F
→
06/25 07:35, , 10F
06/25 07:35, 10F
※ 編輯: money601 來自: 140.127.6.55 (06/25 09:06)
推
06/25 09:01, , 11F
06/25 09:01, 11F
推
06/25 09:33, , 12F
06/25 09:33, 12F
→
06/25 09:34, , 13F
06/25 09:34, 13F
→
06/25 09:35, , 14F
06/25 09:35, 14F
→
06/25 09:36, , 15F
06/25 09:36, 15F
→
06/25 09:37, , 16F
06/25 09:37, 16F
後來我又看了一下 改成
double s=0;
if(n==0)
return 0;
else
s=(1/n)+sum(n-1);
return s;
就ok了 感謝大大的指導 我再回去把運算子與運算式那章看熟一點orz...
推
06/25 09:53, , 17F
06/25 09:53, 17F
※ 編輯: money601 來自: 140.127.6.55 (06/25 10:55)
推
06/25 10:58, , 18F
06/25 10:58, 18F
→
06/25 10:58, , 19F
06/25 10:58, 19F
→
06/25 10:59, , 20F
06/25 10:59, 20F
→
06/25 11:00, , 21F
06/25 11:00, 21F
討論串 (同標題文章)