啊哈磊_编程从这里起步
标题:
这怎么是错的
[打印本页]
作者:
jiangbowei
时间:
2016-2-5 14:40
标题:
这怎么是错的
#include <stdio.h>
int a[101],n;//定义全局变量,这两个变量需要在子函数中使用
void quicksort(int left,int right)
{
int i,j,t,temp;
if(left>right)
return;
temp=a[left];//temp中存的就是基准数
i=left;
j=right;
while(i!=j)
{
//顺序很重要,要先从右往左找
while(a[j]>=temp && i<j)
j--;
//再从左往右找
while(a
<=temp && i<j)
i++
//交换两个数在数组中的位置
if(i<j)//当哨兵i和哨兵j没有相遇时
{
t=a
;
a
=a[j];
a[j]=t;
}
}
//最终将基准数归位
a[left]=a
;
a
=temp;
quicksort(left,i-1);//继续处理左边的,这里是一个递归的过程
quicksort(i+1,right);//继续处理右边的,这里是一个递归的过程
return;
}
int main()
{
int i,j;
//读入数据
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a
);
quicksort(1,n); //快速排序调用
//输出排序后的结果
for(i=1;i<=n;i++)
printf("%d",a
);
getchar();getchar();
return 0;
}
怎么是错的?
作者:
邀请码
时间:
2016-2-5 14:40
从左往右找的时候,少了个分号,不会看错误信息吗?
作者:
邀请码
时间:
2016-2-6 23:19
还有,数组名和变量名混用
作者:
卡卡欧
时间:
2016-2-13 19:33
某一行少了个分号
作者:
卡卡欧
时间:
2016-2-13 19:33
看一下下面的回复就可以了
作者:
jiangbowei
时间:
2016-2-16 09:25
本帖最后由 jiangbowei 于 2016-2-16 09:27 编辑
谢谢你们的帮助!
作者:
350559519
时间:
2016-2-28 12:41
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2