当前位置: 代码迷 >> C语言 >> 程序编写求助----来自初学者的sos
  详细解决方案

程序编写求助----来自初学者的sos

热度:201   发布时间:2008-04-20 21:17:31.0
程序编写求助----来自初学者的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界面消失了,太诡异了,第一次碰到,求助各位高手
搜索更多相关的解决方案: sos  int  length  

----------------解决方案--------------------------------------------------------
sqlist *l;
//只定义了一个指针,未分配存储空间
----------------解决方案--------------------------------------------------------
  相关解决方案