Re: [問題] 怎麼用C寫出move average ?

看板C_and_CPP (C/C++)作者 (愛妳)時間12年前 (2012/05/31 10:24), 編輯推噓-7(1830)
留言39則, 12人參與, 最新討論串1/1
// Provide output capability. #include <iostream> using std::cout; using std::endl; /* MAIN PROGRAM */ int main() { // Initialize variables. const int NUMBERS_SIZE = 10; double numbers[NUMBERS_SIZE] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0}; int windowSize = 4; double sum = 0.0; double movingAverage = 0.0; // Loop through nums in list, excluding any at the end that will be //+ covered by the nested for-loop. for (int i = 0; i <= (NUMBERS_SIZE - windowSize); i++) { sum = 0.0; // Reinitialize sum back to zero. cout << "For numbers "; // Output message. // Loop through x numbers from current i position, where x = windowSize. for (int j = i; j < i + windowSize; j++) { sum += numbers[j]; // Increment sum. cout << numbers[j] << " "; // Display the currently addressed num. } // Calculate moving average and display. movingAverage = sum / windowSize; cout << endl << "Moving Average: " << movingAverage << endl << endl; } return 0; } 上面是C++的打法!! 但我需要C的打法不知道怎麼打 會像下面這樣 The output looks like For numbers 1 2 3 4 Moving Average: 2.5 For numbers 2 3 4 5 Moving Average: 3.5 For numbers 3 4 5 6 Moving Average: 4.5 For numbers 4 5 6 7 Moving Average: 5.5 For numbers 5 6 7 8 Moving Average: 6.5 For numbers 6 7 8 9 Moving Average: 7.5 For numbers 7 8 9 10 Moving Average: 8.5 希望有人能幫小弟一下,謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.82.110

05/31 10:56, , 1F
空白鍵上面,X和V中間那個按鈕,按下去,就可以打C了
05/31 10:56, 1F

05/31 11:41, , 2F
原po可能連HelloWorld都寫不出來
05/31 11:41, 2F

05/31 12:48, , 3F
這是現在大學生問作業的方式嗎 = =?
05/31 12:48, 3F

05/31 12:50, , 4F
<可能原po是商還是文,對程式沒很有興趣吧..>
05/31 12:50, 4F

05/31 13:01, , 5F
所以就說直接到CodeJob發案還比較快
05/31 13:01, 5F

05/31 13:14, , 6F
謝謝大家,有人跟我說了不用在回應了,真不知道這是啥板
05/31 13:14, 6F

05/31 13:15, , 7F
真心問個問題為何要這樣, 屍體也交上來了!哀~
05/31 13:15, 7F

05/31 13:17, , 8F
現在大學生程式都這樣學的??連個怎麼吃飯寫字也要問?
05/31 13:17, 8F

05/31 13:21, , 9F
如果這東西是你親手寫的 相信你也可以用十分鐘寫出C版
05/31 13:21, 9F

05/31 13:21, , 10F
認真寫出答案才會害了原PO一生,學習態度問題
05/31 13:21, 10F

05/31 13:22, , 11F
這哪叫真心問個問題, 伸手要答案而已
05/31 13:22, 11F

05/31 13:23, , 12F
如果原PO認真寫個像樣的但執行不出來還比較情有可原
05/31 13:23, 12F

05/31 13:23, , 13F
這種什麼都不做,只會要答案只是上來討噓而己
05/31 13:23, 13F

05/31 13:26, , 14F
有心求進步的再來吧, 直接給你答案只會破壞討論風氣
05/31 13:26, 14F

05/31 13:31, , 15F
好!我承認我這樣也有錯!但是我前面也說我c很爛
05/31 13:31, 15F

05/31 13:32, , 16F
也都沒有人給我提示...因為那要做1~1萬個左右
05/31 13:32, 16F

05/31 13:33, , 17F
想說要怎樣打能讓程式跑快一點
05/31 13:33, 17F

05/31 13:33, , 18F
C++的code都那麼完整,還提示什麼東東
05/31 13:33, 18F

05/31 13:35, , 19F
你至少要先試過吧? 連scanf然後算平均都不會嗎?
05/31 13:35, 19F

05/31 13:35, , 20F
因為上面那程是我電腦就要跑十秒左右
05/31 13:35, 20F

05/31 13:36, , 21F
C很爛就可以解決一切?給你個提示,買本書好好k個
05/31 13:36, 21F

05/31 13:36, , 22F
一段時間就會啦
05/31 13:36, 22F

05/31 13:38, , 23F
我需要1~100萬個去跑 這樣會當吧
05/31 13:38, 23F

05/31 13:39, , 24F
打錯!是一到一萬個去跑 怕當
05/31 13:39, 24F

05/31 13:42, , 25F
怕當的話,只好去跟教授下跪了,叫他不要當你
05/31 13:42, 25F

05/31 13:47, , 26F
還願意回你的人是在幫你
05/31 13:47, 26F

05/31 13:49, , 27F
我說怕當是電腦當機
05/31 13:49, 27F

05/31 13:50, , 28F
我不知道是我電腦爛還怎樣!1~10去跑就要快十秒了
05/31 13:50, 28F

05/31 13:54, , 29F
我不太相信這個要跑十秒
05/31 13:54, 29F

05/31 13:54, , 30F
除非你把編譯的時間也算進去= =
05/31 13:54, 30F

05/31 14:17, , 31F
防毒軟體關掉重試一次,再超過十秒就有問題。
05/31 14:17, 31F

05/31 14:31, , 32F
move就把最前面那個扣掉,再加上最後面的
05/31 14:31, 32F

05/31 14:35, , 33F
樓上正確,瓶頸就變輸出,那輸出格式實在是太費時了。
05/31 14:35, 33F

05/31 16:28, , 34F
所以就變i/o的問題了嗎? 好像不是很簡單對初學者來說
05/31 16:28, 34F

05/31 18:57, , 35F
上面的推文怎麼.....xD
05/31 18:57, 35F

05/31 19:23, , 36F
http://ppt.cc/VpjH 這一切都是有原因的 ˊ_>ˋ
05/31 19:23, 36F

06/01 13:53, , 37F
...大家會噓你,真的是有理由的.你把cout改成printf就可
06/01 13:53, 37F

06/01 15:15, , 38F
樓上是說 printf << "For numbers "; 這樣嘛。口。
06/01 15:15, 38F

06/01 23:45, , 39F
恩! 這樣會被compiler噓到爆
06/01 23:45, 39F
文章代碼(AID): #1FnjPE8W (C_and_CPP)
文章代碼(AID): #1FnjPE8W (C_and_CPP)