读书人

C++中循环有关问题请各位专家帮帮忙

发布时间: 2012-03-18 13:55:38 作者: rapoo

C++中循环问题,请各位专家帮帮忙。
我是才接触C++的新手,有这么一道题目,我始终是没想通怎么编程,希望各位专家帮忙写出详细的过程,谢谢。

有10只猴子选大王。
方法是:10只猴子按“1-10”编号,并且他们围成一个圈。
首先从1号猴子开始循环“1,2,3”,每数到3,为3的猴子离开,然后从下一只猴子开始重新数“1,2,3”。
猴子不断的离开,只到剩下最后一只猴子,它就是猴子王。

[解决办法]

C/C++ code
#include<iostream>#define N 10using namespace std;int main(){    int quit=0,number=3,x[N];    for(int y=0;y!=N;y++)        x[y]=y+1;    int k=0,s=0;    while(quit<N-1)    {        if(x[k]!=0)            s++;        if(s==number)        {            x[k]=0;            s=0;            quit++;        }        k++;        if(k==N)            k=0;    }    int *p=x;    while(*p==0)        p++;    cout<<*p<<"是猴子王"<<endl;    return 0;} 

读书人网 >C++

热点推荐