c语言数组解决josephus问题

哪位大侠帮我改下程序我写了一个大概的代码,发现不了错误#include<stdio.h>#include<stdlib.h>voiddelete(intb[n],intk... 哪位大侠帮我改下程序
我写了一个大概的代码,发现不了错误
#include<stdio.h>
#include<stdlib.h>

void delete(int b[n],int k)
{
int j;
for(j=k;j<n-1;j++)
{
b[j]=b[j+1];
n--;
}
}

void main()
{
int m,s,t,i,n,*p;
scanf("%d",&m);
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
scanf("%d",&s);
for(i=0;i<n;i++)
p[i]=i;
t=s-1;
for(i=n;i>0;i--)
{
t=(t+m-1)%i;
printf("%d",p[t]);
delete(p,t);
}
}
展开
 我来答
tjw408797664
2009-10-21 · TA获得超过1153个赞
知道小有建树答主
回答量:1042
采纳率:0%
帮助的人:704万
展开全部
首先把delete函数的名字换一下,因为它是软件里有的,不能跟它一样。
还有就是void delete1(int b[n],int k)中n没有定义
你可以换成void delete1(int *b,int k,int n)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式