c语言冒泡排序
-
2023年3月24日发(作者:气温的变化与分布)C语⾔冒泡排序,输⼊⼗个数字后从⼩到⼤输出。
原理:
⽐较相邻的两个数字a,b,把较⼤的选出来进⾏下⼀次⽐较,多次⽐较后可选出最⼤的数字。
输⼊⼗个数字,两两⽐较⼤⼩需要9次⽐较,如果每次将较⼤的选出来进⾏下⼀次⽐较,那么9次⽐较后会选出来最⼤的⼀个数。
选出最⼤的那个后,其余的九个数字还是乱序,所以需要再循环进⾏排序,8次循环后选出来第⼆⼤的,还剩⼋个数字需要排序,以此类
推。
所以可以写两个循环进⾏嵌套,外循环为i=10-1=9次,内循环为j=10-1-i=9-i次。这样可以进⾏多次循环,将10个数字进⾏全
部排序。
完整代码如下:
#include
intmain(){
intarr[10]={0};//定义⼀个数组存放数字并初始化
intc=0;//定义⼀个变量⽤作交换空间
printf("请输⼊⼗个数字:n");
for(inti=0;i<10;i++){
scanf_s("%d",&arr[i]);
}
//冒泡排序,需要两个循环,
for(inti=0;i<9;i++){
for(intj=0;j<9-i;j++){
if(arr[j]>arr[j+1]){
c=arr[j];
arr[j]=arr[j+1];
arr[j+1]=c;
}
}
}
for(inti=0;i<10;i++){
printf("%dn",arr[i]);
}
}
c语言冒泡排序
-
2023年3月24日发(作者:气温的变化与分布)C语⾔冒泡排序,输⼊⼗个数字后从⼩到⼤输出。
原理:
⽐较相邻的两个数字a,b,把较⼤的选出来进⾏下⼀次⽐较,多次⽐较后可选出最⼤的数字。
输⼊⼗个数字,两两⽐较⼤⼩需要9次⽐较,如果每次将较⼤的选出来进⾏下⼀次⽐较,那么9次⽐较后会选出来最⼤的⼀个数。
选出最⼤的那个后,其余的九个数字还是乱序,所以需要再循环进⾏排序,8次循环后选出来第⼆⼤的,还剩⼋个数字需要排序,以此类
推。
所以可以写两个循环进⾏嵌套,外循环为i=10-1=9次,内循环为j=10-1-i=9-i次。这样可以进⾏多次循环,将10个数字进⾏全
部排序。
完整代码如下:
#include
intmain(){
intarr[10]={0};//定义⼀个数组存放数字并初始化
intc=0;//定义⼀个变量⽤作交换空间
printf("请输⼊⼗个数字:n");
for(inti=0;i<10;i++){
scanf_s("%d",&arr[i]);
}
//冒泡排序,需要两个循环,
for(inti=0;i<9;i++){
for(intj=0;j<9-i;j++){
if(arr[j]>arr[j+1]){
c=arr[j];
arr[j]=arr[j+1];
arr[j+1]=c;
}
}
}
for(inti=0;i<10;i++){
printf("%dn",arr[i]);
}
}