M个人围成一圈报数,报到N的人出列,输出出列顺序!用C语言实现!答:k, k+1, ..., n-1, 0, 1, ..., k-2// 以序号k为起始,从k开始报0 (3)0, 1, ..., n-k-1, n-k, n-k+1, ..., n-2 // 作编号转换,此时队列为n-1人 (4)变换后就完完全全成为了(n-1)个人报数的子问题,注意(1)式和(4)式,是同一个问题...
C语言问题!10个人围成一个圈!答:void main(){ int ren[11] = {0,1,2,3,4,5,6,7,8,9,10};//每人入相应的座位 int i,j,cont;j = 0;cont=0;for(i = 0; i < 11; i++){ if(ren[i]!=0){ j++;if(j == 8)//满足退出条件 { printf("%d ", ren[i]);//输出该人 cont++; //退出人数增加 j=...
...出圈,求剩下这个人原来的 编号该如何用C语言编写该程序答:void main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};int count=0;int k=10;int position=0;int *p=a;while(k!=1){ if(position==10){ position=0;p=a;} else{ if(*p!=0)count++;if(*p!=0&&(count%3)==0){ p=0;k--;} p++;position++;} } for(int i=0; i<...