⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linkhouhao.c

📁 又一个用C语言编写的猴子先大王的问题
💻 C
字号:
猴子选大王
任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
要求:
输入数据:输入m,n m,n 为整数,n<m
输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号 ,建立一个函数来实现此功能 


这道题目是一个单链表循环删除节点的问题:

main()
{int *point;
static int monkey[100];
int m,n;
int i;
point=&monkey[0];
printf("input:\nnumber of the monkeys=");
scanf("%d",&m);
printf("number to count=");
scanf("%d",&n);
count(point,m,n);
for(i=1;i<=m;i++)
   {if (monkey[i]==0)
   printf("the king is no.%d.\n",i);
   }
}
count(p,m,n)
int *p;
int m,n;
{
int i,record,time;
for(i=1,record=0,time=0;time<m-1;time++,record=0)
 {for(;record<n;i++)
     {if(i==(m+1)) i=1;
     if(*(p+i)==0) record++;
     }
 *(p+i-1)=1;
 }
}
希望大家看了后多多指教......

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -