C语言-----练习题

题目:n个人围成一圈,顺序排号,从第一个开始报数(13报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co.,     Ltd. 
File name:
Author:Jerey_Jobs    Version:0.1    Date: 
Description:
Funcion List: 
*****************************************************/

#include <stdio.h>
#define n 10

int main()
{
	int a[n];
	int i,quit_num,k;

	for(i=0;i<n;i++)  //数组赋值
      a[i]=i+1;
	  
	quit_num = 0; //计数满3退出,数组置0,记录值+1
	i=0;//计数值
	k=0;//记录123循环的变量
	
	while(	quit_num<n-1)
	{
		if(a[i]!=0)   //计数每3个计数循环
			k++;
		if(k==3)   //满足3  数组值置0,退出值+1,记录值123循环变量置0
		{
			a[i]=0;
			quit_num++;
			k=0;
		}
		i++;
		if(i==n)      //数组从头开始循环
			i=0;
	}
	for (i=0;i<n;i++)  //输出
		if(a[i]!=0)
			printf("%d",a[i]);

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值