亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

誰能幫忙看一下關于在c語言中for語句循環,求解?

誰能幫忙看一下關于在c語言中for語句循環,求解?

慕森王 2021-06-01 11:07:22
{int k,j,m;for(k=5;k>=1;k--){m=0;for(j=k;j<=5;j++)m=m+k*j;}printf("%d\n",m);}答案是15,我的迷惑:m一直在第二個for里面循環,當j<=5不成立時,跳到第一個for,可是這個for沒有m啊?怎么輸出m的值的?有人給我說最后是1+2+3+4+5=15,這是在求和,不懂!?。 扛呤种v一下吧,小弟,剛剛自學,什么都不懂!
查看完整描述

2 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

第一次
k = 5
然后m=0
然后第二重for循環
do something
然后第二次
k=4
然后m=0
然后第二重循環
do something
。。。。

到最后一次
k=1
然后m=0
然后第二重for循環
m=0+1*1 //m=1
m=1+1*2 //m=3
m=3+1*3 //m=6
m=6+1*4 //m=10
m=10+1*5 //m=15

所以最后輸出15
關鍵在于你的m=0放在了第一個for循環里面
每次m都被重新賦值為0



查看完整回答
反對 回復 2021-06-07
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

答案確實是:15
當k取5,4,3,2的時候,雖然第二個for循環會執行,但是在第二個for循環不滿足條件的時候,會跳到外層循環中,執行外層循環的時候,m首先被賦值為:0,所以當k=1時,m開始值為0,執行第二個循環的過程是:j=k=1 時:m=0+1*1 j++
j=2 時: m=1+1*2 j++
j=3 時: m=3+1*3 j++
j=4 時: m=6+1*4 j++
j=5 時: m=10+1*5 j++
j=6時:不滿足條件跳出內層循環 同時k=k-1
k=0不滿足循環條件,跳出外層循環,所以最后輸出m的值:15
其實這個程序可以簡化為:
{
int k,j,m;
m=0;
for(j=1;j<=5;j++){
m=m+j;
}
printf("%d\n",m);
}



查看完整回答
反對 回復 2021-06-07
  • 2 回答
  • 0 關注
  • 412 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號