/*在運動會游泳1500米自由泳的比賽前,有人讓五位運動員據(jù)實力預測比賽的結(jié)果。A選手說:B第二,我第三。B選手說:我第二,E第四。C選手說:我第一,D第二。D選手說:C最后,我第三。E選手說:我第四,A第一。決賽成績公布之后,每位選手的預測都只說對了一半,請編程輸出比賽的實際名次*/#include <stdio.h>int main(){ int a,b,c,d,e; for (a=1;a<6;a++) { for (b=1;b<6;b++) { if(a==b) continue; for (c=1;c<6;c++) { if(a==c || b==c) continue; for (d=1;d<6;d++) { if(a==d || b==d || c==d) continue; for (e=1;e<6;e++) { if(a==e || b==e || c==e || d==e) continue; if((b==2||a==3) && (b==2||e==4) && (c==1||d==2) && (c==5||d==3) && (e==4||a==1)) { printf("A:%d\nB:%d\nC:%d\nD:%d\nE:%d\n",a,b,c,d,e); a=b=c=d=10;//why? break; } } } } } } return 0;}
3 回答

習慣受傷
TA貢獻885條經(jīng)驗 獲得超1144個贊
這個是多層循環(huán)嵌套,最內(nèi)部的循環(huán),如果判斷出來了結(jié)果,break掉之后,將繼續(xù)循環(huán)d循環(huán),這里的設置是為了結(jié)束循環(huán),結(jié)果已經(jīng)出來了,就沒必要再循環(huán)了。
當執(zhí)行了a=b=c=d=e=10之后,break掉e循環(huán)之后回到d循環(huán),因為d=10了,不滿足繼續(xù)循環(huán)的條件了,退出d循環(huán),繼續(xù)c循環(huán)……以此類推,這樣做的原因就是可以在內(nèi)部循環(huán)結(jié)束之后,直接跳出多層循環(huán)
- 3 回答
- 1 關注
- 1620 瀏覽
添加回答
舉報
0/150
提交
取消