0
点赞
收藏
分享

微信扫一扫

16.转圈圈报数游戏

青鸾惊鸿 2022-04-19 阅读 53

题目:n个人围成圈,从i个人开始从1到k报数,报k的人出去,依次类推,求出来的顺序;

分析思路:明天再写

代码如下:

#include <stdio.h>
#include <malloc.h>
#include <string.h>
int main()
{
	int *people;
	int n;
	int* xulie;
	printf("几个人参加游戏?\n");
	scanf_s("%d",&n);

	people = (int*)malloc(sizeof(int)*n);
	//memset(people, 0, sizeof(people));
	
	for (int i = 0; i < n; i++)
	{
		people[i] = i+1;
	}
	
	printf("由第几个人开始?每次到第几个结束?\n");
	int i, k;
	scanf_s("%d %d",&i,&k);


	int w = 0;
	for (int m = 1; m <= k; m++,i++)
	{
		if (i == 7)
			i = 1;
		if (people[i-1] == 0)
		{
			m = w;
		}
		//printf("m=%d ",m);
		
		if (m == k)
		{
			if (people[i - 1] != 0)
			{
				
				printf("%d ", people[i-1]);
				people[i - 1] = 0;
			
				n--;
				//printf("n=%d ",n);
				m = 0;
			}
			
			
		}
		
		w = m;
		if (n == 0)
			break;
		
	}
	

	return 0;
}
举报

相关推荐

0 条评论