求大神看一下这个C语言程序怎么改我实在不想改了

#include<stdio.h>#include<stdlib.h>#include<time.h>intmain(){inti,j,h,k,t=0,m=0,w,q,n... #include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{int i,j,h,k,t=0,m=0,w,q,n,*p=(int*)malloc(n*sizeof(int));
printf("参赛人数:");
scanf("%d",&n);
printf("淘汰人数:");
scanf("%d",&q);
srand( (unsigned) time( NULL) );
w=rand()%n+1;
for(i=1;i<=n;i++,p++)
*p=i;p=p-n;
while(m<q)
{for(i=1;i<=n;i++)
if(*(p++)==w)
{m++;*p=n+2;
for(k=1,h=i;h<=n;k++,h++)
*(p++)=k;
for(t;t<i;t++)
*(p-n+t)=k+t;
}
p=p-n;w=rand()%+1;}
printf("赢的有:");
for(i=0;i<n;i++)
if(*(p+i)<=n)
printf("%d ",i+1);
printf("输的有:");
for(i=0;i<n;i++)
if(*(p+i)>n)
printf("%d ",i+1);}
结果输的总是和输入的淘汰数不一样
展开
 我来答
风行我闪
2017-02-11 · TA获得超过120个赞
知道小有建树答主
回答量:136
采纳率:66%
帮助的人:60.1万
展开全部
  1. malloc申请的空间大小未知,因为n变量没有初始化。

  2. 结束时也没有free。

  3. 最重要的是我不知道你要干啥。。。。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式