个人围成一圈,1,2,3循环报数,报到3的人退出,并将退出的序号依次存到数组p中,包括最后一个人的序号。到最后只余1人,输出最后留下的是第几号(最初的序号,以1起始)。若m=6,则输出n=1 3 6 4 2 5 1;若m=10,则输出n=4 3 6 9 2 7 1 8 5 10 4;若m=100,则输出n=91 3 6 9……100 58 91。函数int fun(int n ,int p[ ])实现上述功能,返回n个人中最后余的1人的起始序号,并将退出的序号顺序写入p指向的数组中。。
#include
int baoshu(int n ,int p[ ] )
{ …… }
int main()
{int m,a[1000],i,num;
printf("人数:");
scanf("%d",&m); //此处的m要小于等于1000
num= fun(m,a);
printf("最后退出的序号是:%d\n",num);
puts("退出的顺序是:");
for(i=0;i<m;i++)
printf("%d ",a[i]);
printf("\n");
return 0 ;
}
在线采纳在线等求解答C语言编程
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-