1. 程式人生 > >2.題目:有n個人圍成一圈,順序排號,從第一個開始報數(從1到3報數),凡報到3的人退出圈子,問最後最後留下的是原來第幾號的那位. 提示:用陣列完成

2.題目:有n個人圍成一圈,順序排號,從第一個開始報數(從1到3報數),凡報到3的人退出圈子,問最後最後留下的是原來第幾號的那位. 提示:用陣列完成

#include <stdio.h> int main() { int n; printf(“輸入人數:\n”); scanf("%d",&n); int a[1000]; int i,temp; int count = 0; temp = n; for(i = 0;i < n;i++) { a[i] = i+1; } i = 0; while (n>1) { if(a[i] != 0) { count++; } if(count == 3) { a[i] = 0; count = 0; n–; } i++; if(i == temp){i = 0; } } for(i = 0;i < temp;i++) { if(a[i] != 0) { printf(“餘下的為:%d號\n”,a[i]); } } return 0; }