如何给动态一维数组赋值
求解错因!#include<stdio.h>#include<stdlib.h>
void*calloc(unsigned numElements,unsigned sizeOFElements);
int Retrieve(int array[],int length, int x);
int Ave(int array[],int length);
int Max(int array[],int length);
void Stand(int *array,int length);
int main()
{ int *s;
int i,n,ave,max,X=0,retrieve;
do
{
printf("Please input n:\n");
scanf("%d",&n);
}while(n<=0);
s=(int*)calloc(n,sizeof(int));
if(s=NULL)
{
printf("allocation failure");
exit(1);
}
printf("please input n element:\n");
for(i=0;i<n;i++);
scanf("%d",s[i]);
for(i=0;i<n;i++);
printf("%d",s[i]);
ave=Ave(s,n);
max=Max(s,n);
printf("please input X:\n");
scanf("%d",X);
retrieve=Retrieve(s,n,X);
Stand(s,n);
printf("after sort the array is:\n");
for(i=0;i<n;i++);
printf("%5d",s[i]);
return 0;
}
int Ave(int array[],int length)
{
int i=0,t=0,ave;
for(i=0;i<length;i++);
t+=array[i];
ave=t/length;
return(ave);
}
int Max(int array[],int length)
{
int *max;
int i=0;
max=array;
for(i=0;i<length;i++);
if(array[i]>*max)
*max=array[i];
return(*max);
}
int Retrieve(int array[],int length,int x)
{
int i=0;
while(i<length)
{
if (array[i]==x)
break;
i++;
}
if(i<length)
return(i);
else
return(-1);
}
void Stand(int array[],int length)
{
int index,k,i=0,temp;
for(k=0;k<length-1;k++);
{
index=k;
for(i=k+1;i<length;i++);
if(array[i]<array[index])
index=i;
if(index!=k)
{
temp=array[index];
array[index]=array[k];
array[k]=temp;
}
}
}