c语言中dot作用,【出圈】 (C语言描述一看就懂)

本文详细解析了一个典型的报数游戏算法实现过程。通过一个具体的C语言程序实例,讲解了如何利用数组来跟踪参与者的状态,并逐步淘汰直到找到最后未被标记的参与者。此算法适用于理解简单的循环与条件判断逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解题思路:

注意事项:

参考代码

#include

int main()

{

int n , m , i , t = 0 , sum ;

int nums[1000] = {0} ;

while(scanf("%d %d",&n , &m)!=EOF){

sum = n;       //记录还用多少个数,当为1时跳出循环

for(i = 1; sum > 1 ; i++){

if(nums[i] == 1){

if(i == n){

i = 0;  //这不是多余,如果最后一个标记为1,要在这归零,不然会出错

}

continue;   //判断如以报道过m跳过

}

else

{

t++;     //报数;

if(t == m){

t = 0;            //如果第i个人报道m,在第i + 1 个人从新报数

nums[i] = 1;    //报道m标记为1,新循环到i时判断下标跳过

sum --;         //当t == m时,就有一个数不在报数,所以减掉;

}

if(i == n){

i = 0;         //当报到最后一个数时从头报;

}

}

}

for(i = 1 ; i <= n ; i++){

if(nums[i] == 0)

printf("%d \n",i);   //找到没有标记的数;

else

nums[i] = 0;         //当结束时要将nums重新归零,一边下一次程序的进行 ;

}

}

}:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值