黑马程序员-----c学习中的小程序

来源:互联网 发布:重庆cnc编程最新招聘 编辑:程序博客网 时间:2024/05/19 15:43

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

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

//

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define M 3

#define N 15

#include<stdio.h>


int main(){

//

    //定义一个数组保存人数

   int person[N]={0};

    //定义n保存剩余人数,最开始为15

   int n=N;

    //定义i用来保存到数到3,把数组中的值赋值为1;定义j来确定数组的下标

   int i=1,j=0;

    //做循环当剩余一个人停止循环

   while (n>1) {

        //判断当数组中的值为0,且i不为3i++

       if (person[j%N]==0&&i!=3)  i++;

        //判断当数组中的值为0,且i3,把数组中的元素赋值为1,且剩余人数减少1

       else if (person[j%N]==0&&i==3) {

            i=1;

            n--;

            person[j%N]=1;

        }

        //用来遍历数组中的每个元素

        j++;

    }

    //做循环来判断数组中为0的元素就是剩下最后的一个人

   for (int i=0; i<N; i++) {

       if (person[i]==0) {

            printf("出卖耶稣的人原来的序号是:%d\n",i+1);

        }

    }

    

         return 0;

          }

0 0