題目如下 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
請問一下我的想法有甚麼問題嗎??
謝謝各位教導
--
前三次輸出的答案為 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
請問一下我的想法有甚麼問題嗎??
謝謝各位教導
--
All Comments