看板 Examination 關於我們 聯絡資訊
題目如下 http://imgur.com/LeuhmC4 前三次輸出的答案為 i=3 j=9 k=1 s=2 a=2 i=4 j=8 k=2 s=2 a=0 i=6 j=7 k=3 s=7 a=10 但是我算出來第一次答案為 i=2 j=9 k=1 s=1 a=2 想法如下 for(i=1;i<j-- -k;) { if(j>k++*3&&(a=madta[i++])>0) s+=i++; cout<<"i="<<i<<"j="<<j<<"k="<<k<<"s="<<s<<"a="<<a<<endl; }; 首先一開始程式有宣告 int i=11,j=10,k=0,s=0,a=0; for(i=1;i<j-- -k;)===>這裡 i<j-- -k 為關係運算只看j=j-1得到i=1,j=9(因為j=j-1) if(j>k++*3&&(a=madta[i++])>0)===>為邏輯運算只得k=1(k=k+1),a=2 s+=i++ ===>s=s+i 得到 s=1(s一開始為0) 然後i=i+1 得到i=2 總結輸出 i=2 j=9 k=1 s=1 a=2 第一次解答為 i=3 j=9 k=1 s=2 a=2 請問一下我的想法有甚麼問題嗎?? 謝謝各位教導 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.206.122 ※ 文章網址: https://www.ptt.cc/bbs/Examination/M.1466582157.A.3F9.html
agreerga: 第一次cout時 i已經++兩次了喔 06/22 16:19
lexus7310: 這一題基本上小部分考程式理解 大部分考視力的 06/22 16:38
lexus7310: mate[i++] 就i就+1變成2了 06/22 16:43
lexus7310: 所以s=2 之後i再加1 變3 06/22 16:44
a303121: 我懂了 謝謝 06/22 17:48
libra1036: 第4次 *i=11,j=6,k=3,s=7,a=10;第5次 *i=13其他不變 06/22 22:03
libra1036: 請問怎麼會跳過 *i=12,謝謝!! 06/22 22:04
SSiuan: 歡迎入我們資訊處理的賴群組喔!一起解題,站內信給我你 06/22 22:14
SSiuan: 的賴即可 06/22 22:14
lexus7310: 因為回圈跑了兩次才進入最後一次輸出 06/24 08:37