标题:直接插入的问题,求赐教
取消只看楼主
lyw321
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-16
 问题点数:0 回复次数:1 
直接插入的问题,求赐教
程序如下,能够编译运行,但是运行出的结果总是不完整。比如十个数的排序,前面会出现两个反常的数,然后剩下八个正常排列。


#include <stdio.h>
void main ()
{
  
  int i,j;
  int a[30];
  void sort (int r[],int k);
  void print(int r[],int k);
  printf("please input a number<30\n");
  scanf("%d",&i);
  for(j=0;j<i;j++)
      scanf("%d",&a[j]);
  sort (a,i);
  print(a,i);
}
void  sort (int r[],int k)
{
 int a,b,t=0;
 for (a=2;a<=k;a++)
 {
  r[t]=r[a];
  b=a-1;
  while(r[t]<r[b])
  {
   r[b+1]=r[b];b--;
   r[b+1]=r[t];
  }
 }
}
void  print (int r[],int k)
{
 int i;
 for (i=0;i<k;i++)
    {if(i%5==0) printf("\n");
     printf("%5d",r[i]);
 }
 

}
搜索更多相关主题的帖子: number include void please 
2012-09-16 12:04
lyw321
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-16
得分:0 
回复 3楼 dsl975708035
但是能够部分排序,只是每一次排序的结果的开头都有两个是错的。
2012-09-16 20:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381499-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.966506 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved