原题链接:[编程入门]报数问题
题目分析
一圈人说的就是一个循环抽象来说就是一圈循环要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 这是基础运用和一些逻辑的混合 对于入门的人来说有点挑战 但是 没挑战也没啥意思。。。。。。。。。。。。。。
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复