[問題] 求4、7的倍數和

看板C_and_CPP (C/C++)作者 (豬_MP)時間14年前 (2012/05/06 21:53), 編輯推噓3(3020)
留言23則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) s 問題(Question): 試撰寫一C程式,由鍵盤不斷地輸入正整數, 若此數為負數則代表資料結束; 將輸入的整數為 4 的倍數,以及 7 的倍數分別加總,並顯示結果。 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output):程式最後不會印出 程式碼(Code): #include<stdio.h> #include<stdlib.h> int main(void) { int i,sum4=0,sum7=0; printf("請輸入一個整數:\n"); scanf("%d", &i); for(scanf("%d", &i);i>=0;scanf("%d", &i)) if(i>=0) { if(i%4==0) sum4+=i; // 累計4的倍數 if(i%7==0) sum7+=i; // 累計7的倍數 } else { printf("\n輸入資料中4的倍數和: %d ; 7的倍數和: %d", sum4, sum7); } system("pause"); return 0; } (請善用置底文網頁, 記得排版) 補充說明(Supplement):因為教授講太快,上來求解,還希望有可以幫忙, 因為還沒教到do while 所以要用for的用法。謝謝大大們 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.239.94

05/06 22:06, , 1F
把else的內容拿出來再for迴圈之後
05/06 22:06, 1F

05/06 22:38, , 2F
但是 題目是要連續輸入數個整數
05/06 22:38, 2F

05/06 22:38, , 3F
然後如果輸入的值小於0程式結束
05/06 22:38, 3F

05/06 22:39, , 4F
在印出總合
05/06 22:39, 4F

05/06 22:39, , 5F
把printf那行拿出來放在system("")那行前面就好了
05/06 22:39, 5F

05/06 22:42, , 6F
這有個範例可是不是使用for
05/06 22:42, 6F

05/06 22:42, , 7F

05/06 22:43, , 8F
解完了 請問fly大 這樣的話 else不用打嗎??
05/06 22:43, 8F

05/06 23:27, , 9F
else 的意思是"否則",else(否則) 的前面要有 if(如果)
05/06 23:27, 9F

05/06 23:29, , 10F
這樣念起來會是"如果(1)成立就做(2)否則就做(3)"
05/06 23:29, 10F

05/06 23:31, , 11F
(1) 是 if 後面()裡的條件式 (2) 是 if() 後面的敘述
05/06 23:31, 11F

05/06 23:31, , 12F
(3) 是 else 後面的敘述
05/06 23:31, 12F

05/06 23:34, , 13F
用 {} 括起來的會被當做整段敘述,沒括起來的敘述以;結尾
05/06 23:34, 13F

05/06 23:39, , 14F
for 迴圈在條件成立時會執行後面的敘述,
05/06 23:39, 14F

05/06 23:40, , 15F
這裡的 if-else 是被當作整段敘述一起執行的
05/06 23:40, 15F

05/06 23:42, , 16F
可以用 {} 把 if-else 括起來以避免混淆
05/06 23:42, 16F

05/06 23:48, , 17F
謝謝lin大幫忙解答
05/06 23:48, 17F

05/07 00:53, , 18F
for(scanf("%d", &i);i>=0;scanf("%d", &i))改變數呢@@
05/07 00:53, 18F

05/07 02:47, , 19F
連結那個竟然是熟悉的人 XD
05/07 02:47, 19F

05/07 03:15, , 20F
05/07 03:15, 20F

05/07 03:16, , 21F
習慣用 table driven approach, 這樣也可以減少巢狀結
05/07 03:16, 21F

05/07 03:17, , 22F
構的出現還有讓你想到更多例外狀況
05/07 03:17, 22F

05/07 03:50, , 23F
抱歉,造了太多孽..
05/07 03:50, 23F
文章代碼(AID): #1Ffe9hZP (C_and_CPP)
文章代碼(AID): #1Ffe9hZP (C_and_CPP)