// 1.如何表示13个人? //通过数组表示,有13个元素,赋值为1~13
// 2.如何描述报数? //使用count值统计当前是第几个人
// 3.如何将人剔除,标记已经死掉的人? //将元素值置为0
// 4.如何及时获取当前活着的人? //变量number记录当前活着的人
// 5.使用哪种循环结构? //采用while循环
// 6.循环条件是什么? //当前活着的人数大于1 number > 1
// 7.如何循环报数? 循环变量 i,记录当前第几个人在报数,如果到最后一个人,报数完成之后,让第一个人继续报数,i=0
int a[13]= {1,2,3,4,5,6,7,8,9,10,11,12,13};
int count = 0 ;//用来记录报数
int number = 13; //记录活着的人数
int i = 0; // 记录第几个人正在报数
while (number > 1) {
//如果a[i]没有被剔除掉报数有效
if (a[i] !=0) {
count++;
}
if (count == 3) {
a[i] = 0; //剔除掉
number--; //存活人数及时更新
count = 0;//将计数器清零
}
i++; //记录报数的下一个人;
if ( i == 13 ) {
i = 0; //当超出报数的范围时,立即将报数人数置为第一个人
}
}
for (int i = 0; i< 13; i++) {
if (a[i] > 0) {
printf("%d",a[i]);
}
}
热门的耶稣问题
最新推荐文章于 2022-02-25 21:57:21 发布