作业帮 > 综合 > 作业

13个人围成一圈,从第一个人开始报号1,2,3.凡报道3者退出 最后剩几号 这个C++的题目 为什么我的程序不行

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 19:03:05
13个人围成一圈,从第一个人开始报号1,2,3.凡报道3者退出 最后剩几号 这个C++的题目 为什么我的程序不行
求高手 以下是我的思路 为什么我这样写程序不行呢 第一轮输出应该是
1 1
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
这样啊 第二轮是这样才对啊
1 1
2 2
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0

#include
struct man //每个同学拥有学号和报的数两个信息
{
int no;
int shu;
}man[13]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{9,0},{10,0},{11,0},{12,0},{13,0}};
void main()
{ int i=0,j=1,c=0,k;
do
{
if(man[i].shu==3) //如果报的数是3 那么计数器加1
{
c++;
}
if(man[i].shu!=3) //如果他报的数不是3,那就继续报数,用j来存现在应该报的数
{
man[i].shu=j++; //报完数应该报的数加1
}
if(j==4) //如果报的数加到4了 就把它改为1 实现123123.的报数
{
j=1;
}
i++; //报完一个同学 报下一个
if(i==13) //如果报完一轮 就使i等于0 重新报一轮
{
i=0;
}
for(k=0;k
/*我对你的题目理解是这样,你看有没有错:
首先,13个人围成一圈,1-2-3报数,报到3的就退出圈外,下轮报数时他就不能报了.还有报到最后剩一个人的时候就停止,输出剩下那个人的号数.程序如下:可以通过改Num的值来改变人数*/

#include
#define Num 13
struct man //每个同学拥有学号和报的数两个信息
{ int no;
int shu;
}man[Num];

void main()
{
int i,j,k,N=Num,lun=0,c=0;
for(j=0;j
再问: ((Num-N)
C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子 问最后留下 、用指针完成下面程序:有n个人围成一圈,顺序排号,从第一个人开始报数(从1-3报数),凡报到3的退出圈子,请编程求出最后 C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子 2:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子, 有10个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到了的人退出圈子,问最后留下的是原来第几号的那位. 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出(pascal 用C语言编写:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,请输出报数出列圈及最 C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 c语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1~3报数),报到3的人退出圈子,求退出顺序 C语言:有n人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 有N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,