使用数组的猫吃老鼠游戏
//本来是应该用连表写是很简单的函数,但是看到别人写的一个使用数组写的例子。
//
//个人觉得很烂,所以自己写了一个,虽然也可以吧,但是也觉得不爽!没有连表的好。
//
//但是还是记下来吧,也给入门者一个误导 哈哈哈 。。。。 汗。。。。
#include <stdio.h>
#define N 10
int serch(int start)
{
int sun[N] = {0};
int total = N;
int count = 0;
for(;total-- > 0;)
{
sun[total] = total+1;
printf("%d ",sun[total]);
}
int ok = 0;
printf("\n");
int on = 0;
for(int i = 0; i < N; i++)
{
for(int j = (on++ == 0 ? start:0); j < N; j++)
{
if(ok == 0)
{
ok++;
sun[j] = 0;
}
if(sun[j] != 0)
{
if(count == 1)
{
ok++;
if(ok == N )
{
for(i = 0;i < N ;i++ )
printf("%d ",sun[i]);
return j;
}
sun[j] = 0;
count--;
}
else
count++;
}
}
}
return 0;
}
int main()
{
int start = 0;
printf("请输入一个从0到%d的数:",N);
scanf("%d",&start);
if(start > N || start < 0)
return 0;
printf("\n最后一个是编号为:%d的。\n",serch(start)+1);
return 1;
}
//
//个人觉得很烂,所以自己写了一个,虽然也可以吧,但是也觉得不爽!没有连表的好。
//
//但是还是记下来吧,也给入门者一个误导 哈哈哈 。。。。 汗。。。。
#include <stdio.h>
#define N 10
int serch(int start)
{
int sun[N] = {0};
int total = N;
int count = 0;
for(;total-- > 0;)
{
sun[total] = total+1;
printf("%d ",sun[total]);
}
int ok = 0;
printf("\n");
int on = 0;
for(int i = 0; i < N; i++)
{
for(int j = (on++ == 0 ? start:0); j < N; j++)
{
if(ok == 0)
{
ok++;
sun[j] = 0;
}
if(sun[j] != 0)
{
if(count == 1)
{
ok++;
if(ok == N )
{
for(i = 0;i < N ;i++ )
printf("%d ",sun[i]);
return j;
}
sun[j] = 0;
count--;
}
else
count++;
}
}
}
return 0;
}
int main()
{
int start = 0;
printf("请输入一个从0到%d的数:",N);
scanf("%d",&start);
if(start > N || start < 0)
return 0;
printf("\n最后一个是编号为:%d的。\n",serch(start)+1);
return 1;
}