?? lusong7[1].3.cpp
字號:
//小孩踢圈程序,注:根據《中華人民共和國著作權保護法》,此程序
//著作權歸盧松所有,可以復制傳播,但是吃水不忘挖井人,不多說了!
#include<iostream>
using namespace std;
void main()
{
const int n=17; //總人數
const target=3; //間隔數
int left=n; //還剩幾個人
int i=0,t=0; /*i是循環變量兼數組下標,t是記時器,并且都初始化為0*/
int a[n+1]; /*用一個一維數組表示n個人是否已經出圈,0為沒有出,
1為已經出圈(此數組從a[1]開始)*/
for(i=1;i<n+1;i++)
a[i]=0; //開始時,n個人在圈內
i=0; //置i值為0
do{
t+=1;
do{
i+=1;
if(i==n+1)
i=1; //當i總數等于n+1時,令i為1,繞圈循環下去
}while(a[i]); //此do while語句是用來選中一個沒有出圈的人
if(t==target) //如果記時器是3,到踢人的時候了
{
a[i]=1; //此人被踢出
left-=1; //相應的,總人數減1
t=0; //記時器置0,從新為踢下一個人做準備
}
}while(left>1); /*如果剩余人數大于1,循環踢人,直到剩余人數不大于1,
即是剩下一人*/
for(i=1;i<n+1;i++)
{
if(a[i]==0) //找到那個沒有被踢出的人
{
cout<<"最后剩下第"<<i
<<"個小孩了,哈哈,祝賀你沒有被踢出去!"
<<endl; //打印出這個人是第幾個,并且祝賀他,鼓勵他
break; //退出for循環,使程序結束
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -