【求救】第12周编程题“火柴游戏”

LapinBleu 发表于2016年12月03日
<p><strong><code class="brush:cpp;toolbar:false" style="width: 704px; height: 1992px;" >#include&lt;stdio.h&gt; #define&nbsp;N&nbsp;23 int&nbsp;main() { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;move,left=N; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Game&nbsp;start!\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Note:&nbsp;the&nbsp;maximum&nbsp;number&nbsp;is&nbsp;3\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(left&gt;0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Please&nbsp;enter&nbsp;the&nbsp;number&nbsp;of&nbsp;matches&nbsp;you&nbsp;are&nbsp;moving:\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(&quot;%d&quot;,&amp;move); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((move!=1)&amp;&amp;(move!=2)&amp;&amp;(move!=3)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;The&nbsp;number&nbsp;you&nbsp;entered&nbsp;is&nbsp;wrong,please&nbsp;re-enter!\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Please&nbsp;enter&nbsp;the&nbsp;number&nbsp;of&nbsp;matches&nbsp;you&nbsp;are&nbsp;moving:\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(&quot;%d&quot;,&amp;move); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;The&nbsp;number&nbsp;of&nbsp;matches&nbsp;you&nbsp;are&nbsp;moving&nbsp;is:%d\n&quot;,move); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(left&lt;=move) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(left==move) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;The&nbsp;number&nbsp;of&nbsp;matches&nbsp;left&nbsp;is:%d\n&quot;,left-move); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;I'm&nbsp;sorry.&nbsp;You&nbsp;lost!\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left=left-move; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;The&nbsp;number&nbsp;of&nbsp;matches&nbsp;left&nbsp;is:%d\n&quot;,left); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move=left%3+1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(left==left%3) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(left==1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move=1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;move=move-2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left=left-move; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;The&nbsp;number&nbsp;of&nbsp;matches&nbsp;that&nbsp;have&nbsp;been&nbsp;moved&nbsp;by&nbsp;the&nbsp;computer&nbsp;is:%d\n&quot;,move); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;The&nbsp;number&nbsp;of&nbsp;matches&nbsp;left&nbsp;is:%d\n&quot;,left); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(left==0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Congratulations!You&nbsp;won!\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0; }</code></strong><span style="font-size: 20px;" ><strong>花了两个多小时,仍然“用例1未通过”,有成功的人么?</strong></span></p>
2 回复

    1楼

  • mooc102468 发表于2016年12月03日
    1 | 5 | 举报
    <p>需要考虑这个条件:当火柴剩3根的时候,AI取2根</p>
    mooc102468 发表于2016年12月03日
    • LapinBleu 2016年12月04日
      0 | 举报
      <ol class=" list-paddingleft-2" style="list-style-type: decimal;" ><li><p><span style="color: rgb(238, 51, 238);" ><strong><span style="font-size: 20px;" >谢谢,在您的帮助下终于通过了。</span></strong></span><strong><span style="font-size: 20px;" ><span id="_baidu_bookmark_start_7" style="line-height: 0px; display: none;" >‍</span></span><span id="_baidu_bookmark_start_2" style="line-height: 0px; display: none;" >。‍</span></strong></p></li></ol>
      LapinBleu 发表于2016年12月04日
      0 | 举报
    • 忆长安-苏轼 2016年12月05日
      0 | 举报
      <p>按照题目要求,当火柴剩3根的时候机器不是取1根么?</p>
      忆长安-苏轼 发表于2016年12月05日
      0 | 举报
    • weilingemedchina 2016年12月07日
      0 | 举报
      <p>&nbsp;修改哪里呢??</p>
      weilingemedchina 发表于2016年12月07日
      0 | 举报
    • mooc102468 2016年12月07日
      1 | 举报
      <p>@每天学点C语言,如果计算机打算移走的火柴数等于剩下的火柴数,则将计算机打算移走的火柴数减1。</p>
      mooc102468 发表于2016年12月07日
      1 | 举报
    • mooc102468 2016年12月07日
      1 | 举报
      <p>@weilingeme..&nbsp;</p><p>在 盈盈儿 代码的基础上修改即可,</p>
      mooc102468 发表于2016年12月07日
      1 | 举报
    添加评论
  • 2楼

  • YanWang 发表于2016年12月21日
    0 | 0 | 举报
    <p>我的理解是:当是4根火柴的时候,就应该拿走3根啊,这样计算机不就能赢了么?</p>
    YanWang 发表于2016年12月21日
    添加评论