冒泡排序写错了,第一个循环条件改为j<N-1,第二个循环条件改为i<N-1-i
#include<stdio.h>
#define N 8
int main(void)
{
int a[N]={13,56,87,95,23,57,66};
int i=0;
int j=0;
int temp=0;
scanf("%d",&a[7]);
printf("\n");
for(i=0;i<N;i++)
{
printf("a[%d]=%d ",i,a[i]);
}
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N-1-i;i++)
{
if(a[i+1]>a[i])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
for(i=0;i<N;i++)
{
printf("a[%d]=%d ",i,a[i]);
}
printf("\n");
return 0;
}
数组开大一点?