返回列表 发帖

帮我用C编个程序

题目是:有15个基督教和15个不是基督教的人做船,可是船要沉下去拉,为拉救大家
不得不把15个人,抛下海去,后来有个人想了个办法,就是大家围成一个圈,从第1开始数念到第9的人就跳下去,重复循环,为拉让不是基督教的人跳下去
该怎么编这个程序?
用C语言。。。。。。。
知道的留答案
    萧儿在此谢谢你

帮我用C编个程序

#include void main() { int findnext(int per[],int lastdie); int i,lastdie,nowdie; int per[30]; for(i=0;i<30;i++) per=1; per[8]=0; //第一个跳 lastdie=8; for(i=0;i<14;i++) //还有14个要跳 { nowdie=findnext(per,lastdie);//找出下一个要跳的人的编号 per[nowdie]=0; lastdie=nowdie; } printf("\n"); for(i=0;i<30;i++) if(per==1) printf("%3d",i+1); } int findnext(int per[],int lastdie) { int i=0; int num=lastdie; while(i<=9) { num++; if(num==30) num=0; // num=(num+1)%30; if(per[num]==1) i++; if((i==9)&&(per[num]==1)) break; } return num; } 先将30个人编号,1到30,程序输出最后没有跳下去的人的编号。

TOP

帮我用C编个程序

比较简单~~
就是不会~~~~~~

TOP

帮我用C编个程序

呵呵
用了联接表啊!
3Q

TOP

帮我用C编个程序

现在因该不要了吧

TOP

帮我用C编个程序

我是初学者
不是很懂呀

TOP

帮我用C编个程序

楼上的比我的好多了,我看我就不必献丑了。

TOP

帮我用C编个程序

终于发现这个题目以前叫做<幸运的基督徒>,是一个数学家出的题 标准的好象是这样的 struct node { int no_out; //是否被仍入海中 int nextp; //下一个元素 } 程序代码 #include struct node { int no_out; int nextp; }link[31]; main() { int i,j,k; printf("圈中有(+:非基督徒, @:基督徒):\n"); for(i=1;i<=30;i++) { link.nextp=i+1; link.no_out=1; } link[30].nextp=1; j=30; for(i=0;i<15;i++) { for(k=0;;) if(k<9) { j=link[j].nextp; k+=link[j].no_out; } else break; link[j].no_out=0; } for(i=1;i<=30;i++) printf("%c",link.no_out?'@':'+'); //@表示基督徒,+表示非基督徒. printf("\n"); }

TOP

帮我用C编个程序

void ss(int n,int m) {int a[50]; int i,j,baoshuren,xiayige; for(i=0;i=i+1; a[n-1]=0; /*对于i,a是i的下一个报数的人*/ j=n; xiayige=0; while(1) {for(i=0;i

TOP

帮我用C编个程序

用循环链表

TOP

帮我用C编个程序

好的,等一下给你发过去。

TOP

帮我用C编个程序

难办

TOP

帮我用C编个程序

头大了~!

TOP

帮我用C编个程序

yun~~~~`

TOP

帮我用C编个程序

" 为拉让不是基督教的人跳下去".这个好象不好搞哦,

TOP

返回列表 回复 发帖