随机输入十个数,并按从小到大输出
可以用冒泡排序法与选择排序法
一、冒泡排序法:
1.十个数要进行就躺比较,而且第一次比较的数九次才能确定位置,第二个要比较8次,依次比较下去就要比较9-i次。
2.用相邻的两个数进行比较,从小到大比较,若前一个的数字大于下一个数字则交换位置,可以用一个变量来储存。
代码如下(含解析):
//排序方法从小到大
//1.冒泡排序法
#include<stdio.h>
int main()
{
int a[10],i,j,t;
for(i=0;i<9;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)//进行九次循环,进行九次比较
{
for(j=0;j<9-i;j++)//每次比较进行9-i次比较
{
if(a[j]>a[j+1])//相邻的两个数之间进行比较
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
编译结果:
一、选择排序法:
1.选择排序法的原理其实就是,选择出小的数据将其排在前面。
2.第一次选出最小的数字放在第二个位置,依次这样下去,使数组的数字是按照从小到大排列的。
代码实现如下:
//2.选择排序法
#include<stdio.h>
int main()
{
int a[10],i,j,t;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])//相邻的两个数进行比较
{
t=a[i];//交换位置使小的数排在前面
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
编译结果:
由此看出编译和结果相同,所以请相信“通往广场的道路不止一条”,不管是学习还是生活都需要我们不断勇敢的尝试。
并非所有的人都能成功,勇于尝试是开启成功大门的一把钥匙。"——塞约翰逊
以上就是关于排序的实例解析。如果对你有帮助,记得点赞+关注哦!\n我的主页还有其他文章,欢迎学习指点。关注我,让我们一起学习,一起进步吧!