elementui 做的网站,新加坡网站建设公司,潍坊网站建设工作,跨境网络营销案例13个人围成一圈#xff0c;从第1个人开始顺序报号1、2、3#xff0c;凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。***输出提示#xff1a;\n出圈成员及顺序#xff1a;
***输出格式#xff1a;%3d
***输出提示… 13个人围成一圈从第1个人开始顺序报号1、2、3凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。***输出提示\n出圈成员及顺序
***输出格式%3d
***输出提示\n最后的成员是
***输出格式%3d 1、不用结构体
#includestdio.hint main()
{int a[13]{0};int i,j0,n;printf(\n出圈成员及顺序);for(i1;i12;i){n1;do{if(j12) j0;if(a[j]!0) j;else{if(n3){a[j]i;printf(%3d,j1);}j;n;}}while(n3);}printf(\n最后的成员是);for(i0;i12;i){if(a[i]0)printf(%3d,i1);}return 0;
}
2、用结构体参考答案
#include stdio.h#define N 13struct person
{ int number;int nextp;
}link[N 1];int main(void)
{ int i, count, h;/* 建立队列 */for (i 1; i N; i){ if (i N){ link[i].nextp 1;}else{ link[i].nextp i 1;}link[i].number i;}count 0;h N;printf(\n出圈成员及顺序);while (count N - 1){ i 0;while (i ! 3){ h link[h].nextp;if (link[h].number){ i;}}printf(%3d, link[h].number);link[h].number 0;count;}printf(\n最后的成员是);for (i 1; i N; i){ if (link[i].number){ printf(%3d, link[i].number);}}return 0;
}