回 帖 发 新 帖 刷新版面

主题:哪里错了?

//这个程序哪里错了?
#include <stdio.h> 
#include <math.h>
int partions(int a[],int low,int high)
{
int pivotkey=a[low];
a[0]=a[low];
while(low<high)
{
while(low<high && a[high]>=pivotkey)--high;
 a[low]=a[high];
while(low<high && a[low]<=pivotkey)
++low;
a[high]=a[low];
}
a[low]=a[0];
return low;
}
void qsort(int a[],int low,int high)
{
 int pivottag;
if(low<high)
{ //递归调用
 pivottag=partions(a,low,high);
  qsort(a,low,pivottag-1);
  qsort(a,pivotta+1,high);
}
}
void quicksort(int a[],int n)
{
  qsort(a,1,n);
}

int main()
{
int i,a[11]={0,11,12,5,6,13,8,9,14,7,10};
for(i=0;i<11;++i);printf("%3d",a[i]);
printf("\n");
quicksort(a,10);
for(i=0;i<11;++i);printf("%3d ",a[i]);
return 0;
}

回复列表 (共8个回复)

沙发

你的程序是要做什么,现在结果是什么样?把这些都提出来,会好判断一些

板凳

嗯,是编译出错。想问一下出错在哪里和原因?

3 楼

编译出错的话应该会有提示信息,告诉你出错的行号和原因吧

4 楼

pivottag=partions(a,low,high);
  qsort(a,low,pivottag-1);
  qsort(a,pivotta+1,high);
这边你的符号是全角的,改成半角的就好了。

5 楼

嗯,对了,谢谢!这个错误是我以前没有碰到过的。我还想问一下,你是怎么发现“我的符号是全角的”?

6 楼

complile的时候提示你缺少符号的话多半就是半角打成全角了,写代码的时候一定要关掉输入法

7 楼

我在vc6.0下编译了下你的代码
然后百度了一下错误编号
就找出了你出错的原因。

8 楼


哈哈,学到了一个知识!![em1]

我来回复

您尚未登录,请登录后再回复。点此登录或注册