碰到的C语言的关于循环取数的方法

来源:互联网 发布:沈阳医疗软件代理 编辑:程序博客网 时间:2024/06/05 20:35

碰到的小问题


问题如下:

耶稣有15个门徒,其中有一个就是出卖耶稣叛徒,请用排除法找出这位叛徒:15人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。


看下这个方法:

#include "stdio.h"

void main()

{

    inta[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

    int number = 15;//人数

    int count =0;//1,2,3报数

    int i = 0;

    while (number >1)

    {

        if (a[i] != 0)

        {

           count++;//开始报数

        }

        if (count == 3)

        {

            a[i] = 0;//后面循环剔除

            count =0;//重新1,2,3报数

            number--;

        }

        i++;

        if (i == 15)

        {

            i = 0;

        }

    }

    for ( i = 0; i <15; i++) {

        if (a[i] != 0|| a[i] > 0) {

           printf("出卖耶稣的是:%d", a[i]);

        }

    }

   

   

}

看了好多实现方法,就这个比较好一点,很符合我的一般思路,很好理解吧!

0 0
原创粉丝点击