#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”);
}
>> 本文固定链接: http://www.vcgood.com/archives/3319
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了。
http://www.taocaibang.com/job.php?mod=view&jid=65249< ?: prefix = o ns = "urn:schemas-microsoft-com:office:office" />
读书频道编辑搜狐公司
公司类型:外资(欧美) 公司规模:500人以上 ss
发布时间 :2010-10-17 工作年限 :不限 工作方式 :全职 薪金待遇 :面议 性别要求 :不限 学历要求 :本科 招聘人数 :1 到期时间 :2010-11-16 户口要求 :无要求