易截截图软件、单文件、免安装、纯绿色、仅160KB

一个简单的c游戏

13个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号
结果应该是13 可我的程序的结果是11 希望好心人帮改一下
#include <stdio.h>
#include <stdlib.h>
int onlyone(int a[])
{
int i,k = 0;
for(i = 1;i <= 13;i++)
if(a[i] == 0)
k++;
if(k > 1)
return 0;
else if(k ==1)
return 1;
}
int main()
{
int a[13] = {0};
int i = 1,k = 0;
while(!onlyone(a))
{
  if(a[i] == 0)
  k++;
  if(k == 3)
  {
  a[i] = 1;
  k = 0;
  }
  i++;
  if(i == 14)
  i = 1;
}
printf("%d",i);
system("pause");
return 0;
}


for(i = 1;i <= 13;i++)
if(a[i] == 0)
k++; (此处有a[13]出现,所以说数组越界!)
还有个问题:什么时候程序跳出while(!onlyone(a))!应该在只剩下一个人的时候,那此时i
是什么数?它是最后一位退出的人,经过i++后应为9!也就是说最后一位退出的是第八位!最后可以改为:
for(i=1;i <=13;i++)
{
          if(a[i]==0)
          {printf("%d\n",i);
          break;
          }
}


/*
13个人围成一圈,


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

VFP如何调用C函数 - 其他数据库开发 / VFP

请问VFP中如何调用C/C++函数?

你要调用什么功能的函数?要看看VFP中有没有对应的函数,如果有就省着再调用了。如果没有,可以将C/C++函数写个DLL或FLL,然后在VFP调用即可。

十豆三 老师,怎么才能修改自己的 ......

求助:C代码change toVB代码 - VB / 基础类

挺繁琐,之前发的帖子,分值太低现在重发一个。欢迎各位大侠~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[] ......

c# Winform 触摸屏程序 - .NET技术 / C#

公司开发一个触摸屏程序,我负责的一块,实现这样一个功能,当鼠标点击窗口中图片(一张图分成几部分)的其中一部分时,将这部分图片截取出来,弹出新的窗口,将截取出的图片显示出来。我使用Rectange类控制了返回, ......

请大家指点一下C/S结构的分页流程 - .NET技术 / C#

大家好,我是新手,刚开始接触C/S结构的程序,想要实现一个分页功能,大家有没有好点的分页控件或者程序之类的,当然源程序更好,否则说说流程也可以,小妹急啊,在线等。。。。
大家帮帮忙,谢了!

自己写呀! ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号