首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小弟我的出圈有关问题解决了!小弟我找到异常并已经修改好程序了,再次感谢lqflyc的帮助

2012-02-16 
我的出圈问题解决了!我找到错误并已经修改好程序了,再次感谢lqflyc的帮助!哈哈哈哈哈哈!c语言不负有心人!

我的出圈问题解决了!我找到错误并已经修改好程序了,再次感谢lqflyc的帮助!
哈哈哈哈哈哈!c语言不负有心人!
在我临睡前我一步步检查我的程序,重新思考,终于找到了我的程序错误的地方
修改后,第2天一试,顺利输出正确结果!!!
我的程序可能是这个问题用数组解决最简洁的一种,现在发出来让大家指点下我的代码!!!
#define   M   8
#include   <stdio.h>
#include   <stdlib.h>
int   main()
{
  int   a[M],b[M];
  int   m=0,n,q,i,p;
  for(q=0;q <M;q++)
        a[q]=1;
  printf( "n= ");
  scanf( "%d ",&n);
  for(i=0;i <M;i++)
  {   for(p=1;p <n;)/*出圈标记为0,不出时为1*/
          {   if(a[m]==1)
              {   m++;
                  if(m> =M)
                    m=0;
                    p++;
              }
          else{
                    m++;
                    if(m> =M)m=0;                    
                    }
      }
  if(a[m]==0){do{/*这段代码保证数够人数之后下一个出来的是人,而不是一个空位置,懂了吗,我以前就是没有这段程序才错的*/
                                m++;
                                if(m> =M)m=0;
                                }while(a[m]==0);
                                }            
  a[m]=0,b[i]=m+1;
  }
  for(q=0;q <M;q++)
    printf( "%d\t ",b[q]);
system( "pause ");
return(0);
}
另外说下尽管lqflyc指出的错误并不正确,其实是错在了别的地方,以前的程序是
数够人就把下一个可能已经出过圈的人又出圈才出错的,不过lqflyc给了我提示!!



[解决办法]
问题是什么?上来就是代码,看的莫名其妙

热点排行