黄岐做网站,阿里网站,网站建设 英文怎么说,网站建设微金手指排名问题#xff1a;
30个人在一条船上#xff0c;超载#xff0c;需要15人下船。于是人们排成一队#xff0c;排队的位置即为他们的编号。报数#xff0c;从1开始#xff0c;数到9的人下船#xff0c;如此循环#xff0c;直到船上仅剩15人为止#xff0c;问都有哪些编号…问题
30个人在一条船上超载需要15人下船。于是人们排成一队排队的位置即为他们的编号。报数从1开始数到9的人下船如此循环直到船上仅剩15人为止问都有哪些编号的人下船了呢
代码
#include stdio.hint main(){int count 0; //下船人数int baoshu 0;//报数int i0;//编号int b[31] {0};//当下船人数小于15时一直循环while(count15){//从1到30循环i;if(i 31) i1;//报数时跳过已经标记为下船的人if(b[i] 0){baoshu;}if(baoshu 9) {b[i] 1; //标记为下船count;//下船人数printf(i%d \tb[%d]%d\t 第%d个下船\t 编号:%d\n,i,i,b[i],count,i);//重置报数 //报数归1同时i值增加至下一个b[i]!1的位置//do-while循环是解决连续多个b[i]1的情况do{i;if(i 31) i1;} while (b[i]!0);baoshu 1;}}return 0;
}
运行结果