【任务帖】2014年8月12日C语言题目- 约瑟夫环
xiaoz吧
全部回复
仅看楼主
level 9
奋斗丶小Z 楼主
2014年08月11日 16点08分 1
level 9
奋斗丶小Z 楼主
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
很多同学看着是不是很眼熟呀 [笑眼]
2014年08月11日 16点08分 2
level 9
奋斗丶小Z 楼主
运行效果图:
2014年08月12日 16点08分 6
level 9
奋斗丶小Z 楼主
2014年08月12日 16点08分 7
level 9
奋斗丶小Z 楼主
================================================
#include<stdio.h>
#define nmax 50
int main(void)
{
int i=0,k=0,m=0,n,num[nmax],*p;
printf("please input the total of numbers:");
scanf("%d",&n);//获取总数,不大于nmax
p=num;//num的地址给了p
for(i=0;i<n;i++)
{
*(p+i) = i+1;
}//给数组的n个元素赋值
i=0;
while(m<n-1)
{
if(*(p+i)!=0)
k++;
if(k==3)
{
*(p+i) = 0;
k = 0;
m++;
}
i++;
if(i==n)
i = 0;
}
while(*p==0)
p++;
printf("%d is left\n",*p);
}
======================================
2014年08月12日 16点08分 8
level 9
奋斗丶小Z 楼主
明天补上单向链表的做法。[勉强]
2014年08月12日 16点08分 9
1