程序编写求助----来自初学者的sos
题目:输入十个数,从插入排序,快速排序,选择排序三类算法中各选一种编写程序#include "stdio.h"
typedef struct
{ int r[12];
int length;
}sqlist;
void Insertionsort(sqlist *l)
{int i,j;
for(i=2;i<=(*l).length;++i)
if((*l).r[i]<(*l).r[i-1])
{(*l).r[0]=(*l).r[i];
for(j=i-1;(*l).r[0]<(*l).r[j];--j)
(*l).r[j+1]=(*l).r[j];
(*l).r[j+1]=(*l).r[0];
}
}
void Bubblesort(sqlist *l)
{int i,j,lastexchange,m;
i=(*l).length;
while(i>1)
{lastexchange=1;
for(j=1;j<i;j++)
if((*l).r[j+1]<(*l).r[j])
{m=(*l).r[j+1];
(*l).r[j+1]=(*l).r[j];
(*l).r[j]=m;
lastexchange=j;
}
i=lastexchange;
}
}
void Selectsort(sqlist *l)
{int i,j,n,m;
n=(*l).length;
for(i=1;i<n;++i)
{j=i;
m=(*l).r[j];
for(j=i;j<=n;j++)
if((*l).r[j]<m) m=(*l).r[j];
if(i!=j)
(*l).r[j]=(*l).r[i];
(*l).r[i]=m;
}
}
void visit(sqlist *l)
{int i;
for(i=1;i<=(*l).length;i++)
printf("%d",(*l).r[i]);
printf("\n");
}
main()
{ int i,j;
sqlist *l;
for(i=1;i<=10;i++)
scanf("%d",&(*l).r[i]);
Insertionsort(&l);
visit(&l);
Bubblesort(&l);
visit(&l);
Selectsort(&l);
visit(&l);
}
上面程序输入十个数字后,tc界面消失了,太诡异了,第一次碰到,求助各位高手
----------------解决方案--------------------------------------------------------
sqlist *l;
//只定义了一个指针,未分配存储空间
----------------解决方案--------------------------------------------------------