将10个数由小到大进行排序(用冒泡法)
第一趟比较,如果是6个元素,要进行n-1,也就是6-1等于5次两两比较
第二趟比较中,要进行n-j(j是趟数)两两比较,也就是6-2等于4次两两比较
下面直接上代码:
#include <stdio.h>
int main()
{
int a[10];
int i,j,t;
printf("please input 10 numbers:\n");
for(i=0;i<10;i++){
scanf("%d",&a[i]);//用户输入数据到数组
}
printf("\n");
for(j=0;j<9;j++){ //0到9,总共进行n-1,也就是9趟循环,比较9次
for(i=0;i<9-j;i++){ //0到9-j,总共进行n-j次循环,第一趟循环内,元素两两比较要比较9次,第二趟要比较8次(n-j),以此类推
if(a[i]>a[i+1]){ //从小到大排序
t=a[i];
a[i]=a[i+1];
a[i+1]=t; //实现从小到大的排序
}
}
}
printf("the stord numbers:\n");
for(i=0;i<10;i++){
printf("%d ",a[i]); //用循环语句输出数组内的值
}
printf("\n");
return 0;
}