题目分析

     一圈人说的就是一个循环抽象来说就是一圈循环要T了多少个成员,不妨把T掉的人变为0这样最后输出不为0的

即可

代码

#include<stdio.h>
main()
{

    int i,a[100],j,k=0;//定义人员数量
    int quit=0;//退出人数
    scanf("%d",&i);//参与人数
    for(j=0;j<=i;j++)//给成员编号
    {
        a[j]=j;

    }
        j=0;
    while(quit<i-1)//剩最后一个人时退出
    {

        if(a[j]!=0)k++;//过滤退出的玩家,剩下的玩家喊口号
        if(k==3){a[j]=0,quit++;k=0;}//当有玩家喊道3时退出
        j++;//下一个人
       if(j==i)j=0;//检测一圈是否结束
    }
    for(j=0;j<i;j++)//筛选出在场的玩家
    {
        if(a[j]!=0){printf("%d",a[j]);}
    }


}

ps 这是基础运用和一些逻辑的混合 对于入门的人来说有点挑战  但是  没挑战也没啥意思。。。。。。。。。。。。。。

点赞(43)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 16 条评论

laolin2333 7年前 回复TA
@咸鱼一条 C语言网的唯一不足就是数据经常没给范围
咸鱼一条 7年前 回复TA
为什么要用a[100],题目没给人数上限啊
tony 7年前 回复TA
@拙木鸟 当时是想比赛没有0号对吧  QAQ
tony 7年前 回复TA
@拙木鸟 大神加我QQ779610882
拙木鸟 7年前 回复TA
@拙木鸟 还有检测一圈是否结束的地方,改成j==i+1;
拙木鸟 7年前 回复TA
写得挺好,
建议把赋值改成a[j] = j;
这样人数才正确,