首页 > C/C++语言 > C/C++基本语法 > 自学。请教个冒泡代码。
2009
12-12

自学。请教个冒泡代码。

#include<stdio.h>
#define N 5


void main()
{
 int array[N];
 int j,k;
 int temp;


 printf(“please enter the score of five students: \n”);
 for(j=0;j<N;j++)
  scanf(“%d”,&array[j]);



 for(j=0;j<N-1;j++)               他这里的2个for 语句是什么意思。?请高手帮我解释下。。(我明白冒泡的原理的)
  for(k=0;k<N-1-j;k++)


  if(array[k]>array[k+1])
  {
   temp=array[k];
   array[k]=array[k+1];
   array[k]=temp;
  }

 printf(” The sort score!!\n”);
  for(j=0;j<N;j++)
  printf(“%5d”,array[j]);
  printf(“\n”);
}


自学。请教个冒泡代码。》有 2 条评论

  1. jinnengqi 说:

    j从0增到N-1,共N轮比较,每一轮比较后,最大的那个数已经沉底,因此,K只要从0增到N-1-j就可以了,因为后面的数已经排好了,没必要再作比较。

    比如,共有五个数,第一轮,j=0,N从0增到N-1-j,最大的那个数已经沉底,下一轮只比较前四个数就好了,因此第二轮,j=1,N从0增到N-1-j,也就是,从0增到3,四个数比较三次就OK了。

  2. liuliang9767 说:

    http://www.taocaibang.com/job.php?mod=view&jid=65249< ?: prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    读书频道编辑搜狐公司 

    公司类型:外资(欧美公司规模:500人以上 ss

    发布时间 :2010-10-17 工作年限 :不限 工作方式 :全职 薪金待遇 :面议 性别要求 :不限 学历要求 :本科 招聘人数 :到期时间 :2010-11-16 户口要求 :无要求

留下一个回复