当前位置: 代码迷 >> C语言 >> [原创]一个经典的程序错误
  详细解决方案

[原创]一个经典的程序错误

热度:100   发布时间:2006-07-08 23:31:39.0

你的插入排序函数才执行了一次
而且你的插入函数也不对


----------------解决方案--------------------------------------------------------

看不明白


----------------解决方案--------------------------------------------------------
#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[]数组初始化,不然里面一开始防的是一些随即值,就回出错。
----------------解决方案--------------------------------------------------------
建议从做.有了思想就快有结果了
----------------解决方案--------------------------------------------------------
  相关解决方案