【C】队列报数问题 |
您所在的位置:网站首页 › c语言排队问题 › 【C】队列报数问题 |
题目要求是这样的:有n个人围成一圈,顺序排好,从第1个人开始报数,从1到3报数,凡是报到3的人退出圈子,之后的报数的人从1开始重新报数,问此圈子最后剩下的是原来第几号的那个人。 此题必须分为两种情况考虑,就是报数的时候,队列中的人数大于2的情况与等于2的情况,当然队列人数为1的时候那个人就是答案了。之所以分两种情况来操作,是因为报数逢3一次循环,队列中的人数大于2,遍历数组的迭代器会可以继续向后移动,如果队列中的人数为2,迭代器到末尾则向需要向后折返从头开始。 因此代码如下: #include void main(){ int a[255]; int n; printf("圈内人数:"); scanf("%d",&n); //数组初始化 int i; for(i=1;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |