您的位置:首页 > 编程语言 > C语言/C++

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

2016-02-17 16:15 302 查看
碰到的小问题

问题如下:

耶稣有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]);
        }
    }
   
   
}

看了好多实现方法,就这个比较好一点,很符合我的一般思路,很好理解吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: