谁帮我改改啊
不知道错在哪里啊?急题目:设计要求:
用C语言实现简单选择排序、冒泡排序和快速排序。
建议:
事先用数组保存无序数据,数据个数和每个元素的具体数据需要临时输入。
所有排序算法各用一个子程序来实现。
用C语言编写的程序,可以做一个菜单,用于选择排序方法,每次排序完成后,调用一个输出函数,在屏幕上显示排序结果。
#include <stdio.h>
#define N 8
void bubblesort(int a[],int n)
{
int i,j,temp;
for(i=0;i=n-2;i++)
for(j=0;j=n-i-2;j++)
if(a[j]>a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
void selectsort(int a[],int n)
{
int i,j,k,temp;
for(i=1;i=n-2;i++)
{k=i;
for(j=i+1;j<=n-1;j++)
if(a[j]<a[k])
k=j;
if(k!=1)
{temp=a[k];
a[k]=a[i];
a[i]=temp;}
}
for(i=0;i<N;i++)
printf("%d\t",a[i]);
}
void quicksort(int a[],int low,int high)
{
int t,i,j;
i=low;
j=high;
if(low<high)
{
t=a[low];
while(i!=j)
{
while(a[j]>t&&i<j)j--;
if(i<j)
{
a[i]=a[j];
i++;
}
while(a[i]<t&&i<j)i++;
if(i<j)
{
a[j]=a[i];
j--;
}
}
a[i]=t;
quicksort(a,low,i-1);
quicksort(a,i+1,high);
}
}
void main()
{
struct stb;
int k,c,i,a[N],n;
while(1)
{
clrscr();
printf(" menu \n");
printf("******************************\n");
printf("(1)bubblesort * \n");
printf("(2)selectsort * \n");
printf("(3)quicksort * \n");
printf("***************************** \n");
printf(" Please input which you want(1-3):");
do
{
scanf("%d",&c);
if(c<1||c>3)
printf("\nthe number is unnecessary; please input another number(1-3):\n");
}while(c<1||c>3);
switch(c)
{
case 1:
{clrscr();
printf("please input number\n");
for(i=0;i<N;i++)
scanf("%d",a+i);
printf("please input location\n");
scanf("%d",&n);
bubblesort(a,n);
for(i=0;i<N;i++)
printf("%d\t",a[i]);};break;
case 2:
{clrscr();
printf("please input number\n");
for(i=0;i<N;i++)
scanf("%d",a+i);
selectsort(a,n);};break;
case 3:
{while(scanf("%d",&n)!=EOF)
{clrscr();
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
quicksort(a,1,n);
for(i=1;i<=n;i++)
{
if(i!=n)printf("%d ",a[i]);
else printf("%d\n",a[i]);
}
}
return 0; };break;
}
}
getch();
}