你的插入排序函数才执行了一次
而且你的插入函数也不对
----------------解决方案--------------------------------------------------------
看不明白
----------------解决方案--------------------------------------------------------
#define STU struct student
#define N 20
STU
{ int number;
int score;
}
void insert_sort(STU *p)
{ int i,j;
for(i=0;i<10;i++)if(p->score>a[i])break;
for(j=9;j>i;j--)a[j]=a[j-1];
a[j]=p->score;}
main()
{int i,a[10];
for(i=0;i<10;i++)a[i]=0;
STU ST[];
printf("\n the date:");
void insert_sort(STU *);
for(i=0;i<N;i++)
scanf("%d%d",&st[i].number,&st[i].score);
void insert_sort(st[i]);
for(i=0;i<10;i++)
printf("\n%d",a[i]);
}
----------------解决方案--------------------------------------------------------
帮你改好了,谁知道贴不上...插入算法有问题,肯定是N*(N-1)次的
----------------解决方案--------------------------------------------------------
看不出来是怎么回事
----------------解决方案--------------------------------------------------------
首先要对a[]数组初始化,不然里面一开始防的是一些随即值,就回出错。
----------------解决方案--------------------------------------------------------
建议从做.有了思想就快有结果了
----------------解决方案--------------------------------------------------------