|
原帖由 arphy 于 2006-2-27 01:28 PM 发表
void shellsort(int v[],int n)
{ int gap,i,j,temp;
for(gap=n/2;gap>0;gap/=2)
for(i=gap;i<n;i++)
for(j=i-gap;j>=0&&v[j]>v[j+gap];j-=gap)
{ temp=v[j];
v[j]=v[j+gap];
v[j+gap]=temp;
}
}
#include<stdio.h>
main()
{ int i;
int v[11]={13,38,65,97,76,13,27,49,55,04};
shellsort(int v[11],10); //change to shellshort(v,n);
for (i=0;i<10;i++)
printf("%d",v);
getch();
}
编译时提示的错误如下: shells~1.c 16: 表达式语法错在 main 函数中
还有你试试把#include<stdio.h>放到第一行。
原帖由 小标题 于 2006-2-28 02:48 PM 发表
main()
{ int i;
int v[11]={13,38,65,97,76,13,27,49,55,04};
shellsort(int v[10],10); //把这句改为: shellsort(v[10],10);
//形参和实参
这样改,只是把数组元素传过去,如楼上所说。
传数组只要用数组名就行了。 |
|