题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。(用数组完成)
#include <stdio.h>
#define MAX 1000 main() { int i; int num; int temp; int count = 0; int a[MAX]; printf("Please input number:\n"); scanf("%d",&num); temp = num; for(i = 0; i <= num; i++) { a[i] = i+1; } i = 0; while(num > 1) { if(a[i] != 0) { count++; } if(count == 3) { a[i] = 0; num--; count = 0; } i++; if(i == temp) { i = 0; } } for(i = 0; i < temp; i++) { if(a[i] != 0) { printf("result = %d",a[i]); } } return 0; }