排序问题,找错
下面是我写的排序程序,选择和冒泡,但是程序运行出来的结果不是预期的,哪错了??#include<stdio.h>
#define n 10
void xuanze(int a[])
{ int i,j,p,q;
for(i=0;i<n;i++)
{
p=a[i];q=i;
for(j=i+1;j<=n;j++)
{
if(a[j]<p)
{p=a[j];q=j;}
a[q]=a[i];
a[i]=p;
}
}
printf("\nthe result of xuanze is:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
void maopao(int a[])
{
int i,j,t;
for(i=n-1;i>=0;i--)
for(j=0;j<=i;j++)
if(a[j]>a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("\nthe result of maopao is:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
void main()
{ int i;
int a[10];
printf("\nPlease input 10 numbers:\n ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
xuanze(a);
maopao(a);
getch();
}