提示堆栈溢出……
局部变量(自动变量)的数组不要开太大,改成全局变量就好了。
以下VC上运行通过……
#include"stdio.h"
#define N (100000)
unsigned long int * up(unsigned long int s[],unsigned long int count)
{ unsigned long int i,j,p,temp;
for(i=0;i
for(j=i+1;j
if(p!=i)
{ temp=s[p];
s[p]=s[i];
s[i]=temp;
}
}
return s;
}
unsigned long int a[N] = {0},b[N] = {0},s[N] = {0};
int main()
{ unsigned long int t,i,j,k=0,flag=0,count=0;
unsigned long int n,m;
for(i=0;i
scanf("%d",&t);
for(;t>0;t--)
{ scanf("%d%d",&n,&m);
for(i=0;i
for(j=0;j
for(i=0;i
}
for(i=0;s[i]<=1000000000;i++)
count++;
up(s,count);
printf("%d\n",count);
if(flag)
{for(i=0;i
printf("%d\n",s[i]);
}
k=0;flag=0;count=0;
}
return 0;
}