C语言约瑟夫环问题
#include"stdafx.h"#defineN41#defineM3intmain(){inta[N]={0},pos=-1,count=1,i=0;while(c...
#include "stdafx.h"
#define N 41
#define M 3
int main()
{
int a[N] = { 0 }, pos = -1, count = 1, i = 0;
while (count <= N)
{
pos = (pos + 1) % N;
if (a[pos] == 0)
i++;
if (i == M)
{
i = 0;
a[pos] = count;
count++;
}
}
for (i = 0; i < N; i++)
{
printf("%d-%d ",i+1,a[i]);
if ((i + 1 )% 5 == 0)
printf("\n");
}
return 0;
}
帮我把上面的代码改成从第3个人开始,第5个出局,第3个人开始第7个人才是第1个出局的,我一直改都不对,求帮忙 展开
#define N 41
#define M 3
int main()
{
int a[N] = { 0 }, pos = -1, count = 1, i = 0;
while (count <= N)
{
pos = (pos + 1) % N;
if (a[pos] == 0)
i++;
if (i == M)
{
i = 0;
a[pos] = count;
count++;
}
}
for (i = 0; i < N; i++)
{
printf("%d-%d ",i+1,a[i]);
if ((i + 1 )% 5 == 0)
printf("\n");
}
return 0;
}
帮我把上面的代码改成从第3个人开始,第5个出局,第3个人开始第7个人才是第1个出局的,我一直改都不对,求帮忙 展开
3个回答
2015-02-24
展开全部
如果你是为考二级的话,那么就只涉及到简单的数列问题,其它像排序什么的都有现成的程序可参照(比如冒泡法什么的)。还有,学习C的重点是指针与数组,和数学的牵扯都不是很大,即使数学功底不好的用心学同样可以学的很好
追问
我数学特烂,只有初中学历,而且从来没有及格过,才理解不懂,学的话只会照搬,要怎样学才能学好?求教学习方法?不打算考二级,考二级是什么谁都能去考吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define M 5 //here
int main()
{
int a[N] = { 0 }, pos = 1, count = 1, i = 0; //pos
更多追问追答
追问
M等于5也没有用啊,要从第3个人开始,再帮忙改一下
追答
仔细看我给的代码,第四行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这。。。搞竞赛的同学这样是要不得的。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询