边输入边排序
输入10个数,每输入一个数就将它插入数组,并按从小到大的循序排列#include<stdio.h>
int
main()
{
int i=0;
int a[10];
void sort(int *p,int b);
do
{
//get the number
printf("please input the number:\n");
scanf("%d",&a[i]);
//put into the array and sort
sort(a,i);
i++;
}
while(i<10);
//print it in right order
for(i=0;i<10;i++)
printf("%d\n",a[i]);
}
void
sort(int *p,int n)
{
if(n>0)
{
int i,j;
for(i=0;i<n;i++)
{
if(p[n]<p[i])
{
int temp;
temp=p[n];
for(j=n-1;j>=i;j--)
{
p[j+1]=p[j];
p[i]=temp;
}
break;
}
}
}
}
输入9 8 7 6 5 4 3 2 1 0 输出时却是0 0 1 2 3 4 5 6 7 9
不知道错在哪里,望高手指教!谢谢!