宏,指针……
这道编程在考察什么东西啊,一个套一个的,完全看不懂
输入10 21 3 6 9 0 100 1
#include
#define n 8
void main()
{
int i,r,m,a[n],*p;
m=0;
r=n;
p=a;
for(i=0;i"%d",p+i);
while(r!=2)
{
if(*p!=0)
{
m++;
if(m%3==0)
{
r--;
*p=0;
}
}
if(p==a+n-1)
p=a;
else p++;
}
for(i=0;iif(a[i]!=0)
printf("%d",a[i]);
}
这应该是那个报号码淘汰人吧,报到3的都淘汰,最后不足三个人时结束,输出剩下的人是谁
输入8个整数,如果为0则表示被淘汰。从第一个开始报数,报到3的就淘汰,值改为0,循环报号。直到剩余不为0的元数不足3个,最后输出不为0的元素值
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。