看板 C_Sharp 關於我們 聯絡資訊
小弟剛學c#不久 拿到一個題目 http://imgur.com/j5Ln6mg 這是我是寫的,但我不知道方程式該打在哪才可以執行 private void button1_Click(object sender, EventArgs e) { double[] A = new double[101]; double sum = 0; int i; for (i = 1; i <= 101; i = i + 4) sum = sum + A[i]; MessageBox.Show(sum.ToString()); } p.s 我是用windows form應用程式寫的,所以我只複製button1部分 感謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.48.176 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1462076475.A.9D5.html
ian90911: 先寫在這個事件裡就可以了 05/01 13:02
不好意思 事件是? 剛學還不太清楚... 還是我站內信您? ※ 編輯: z0809777 (218.166.48.176), 05/01/2016 13:09:54
CiC: 這個"button1_Click"方法 顧名思義就是按鈕button1被Click時 05/01 16:22
CiC: 要做什麼事. 至於真正在哪設定button1在Click時要執行此方法 05/01 16:23
CiC: 假設此方法寫在 form1.cs,一般會有個 Form1.Designer.cs 05/01 16:24
CiC: 裡面會有行 button1.Click += button1_Click; 05/01 16:24
CiC: 意思就是這個按鈕的Click事件,被綁定到這個方法 05/01 16:25
testPtt: 我想他應該是問要怎麼寫function算出A[i] 05/01 16:27
CiC: 不過通常Winform程式都是去IDE畫面上點2下按鈕 05/01 16:28
CiC: 自動產生Click方法並綁定,讓IDE幫你產生Designer.cs內容 05/01 16:29
CiC: 若是這樣,計算邏輯就要請他自己想想了 XD 05/01 16:30
testPtt: for(...)加括號{這邊算出A[i];sum = sum + A[i];} 05/01 16:35
t大 我照你的方式打會出現這樣 http://imgur.com/HFQqGcV
CiC: 我懂testPtt的意思了,那建議原po閱讀MSDN的"方法"章節 05/01 16:35
CiC: https://goo.gl/1IAEj4 05/01 16:35
好 我會去看看的 ※ 編輯: z0809777 (218.166.48.176), 05/01/2016 17:13:55
testPtt: 在算之前加個A[i]=0;試試 05/01 18:23
還是不行 我加在for(...){A[i]=0; .....} ※ 編輯: z0809777 (218.166.48.176), 05/01/2016 18:37:41
Frozenmouse: 你的 i 一次跳 4,但陣列長度只有101... 05/01 18:51
我改102 跑得出來了 但值是o 我不是用double 不是應該會有小數點了? ※ 編輯: z0809777 (218.166.48.176), 05/01/2016 19:27:18
Frozenmouse: 先轉型成 double 再運算,整數運算後最後還是整數 05/01 20:12
請問怎麼轉 我google int轉double 試了很久 算出來還是0....orz ※ 編輯: z0809777 (218.166.48.176), 05/01/2016 21:12:11
theTai: 你要運算的對象應該是i而不是A[i]吧 05/01 22:49
theTai: 陣列A在宣告後從未賦值,因此各元素都是預設值0 05/01 22:50
theTai: 其實陣列A是不需要的 05/01 22:52
sakuraakira: 0 + 100個0 最後還是0 05/02 09:11
Frozenmouse: A確實是贅物,不過原po這樣寫就順著講了XD 05/02 10:56
Frozenmouse: 轉型的話 A[i] = (double) i * (i + 1) ...; 就好 05/02 10:57
Frozenmouse: 我比較好奇你是試了什麼方法不行 05/02 10:58
lucky1lk: 看不懂你程式碼的意圖@@ 05/02 14:33
看完大家的推文我把陣列a換掉了 現在程式是這樣 double i; double sum = 0; double A = 0; for(i = 1; i <= 101; i = i + 4) { A = i * (i + 1) / ((i + 2) * (i + 3)); sum = sum + A; } MessageBox.Show(sum.ToString()); 但值出來是22.395..... 應該是對的了 謝謝大家的指導 ※ 編輯: z0809777 (218.166.50.100), 05/02/2016 16:17:04