随机输入五个数,然后从小到大输出
#include<stdio.h>
int main()
{
int a[5],t;
for (int i = 0; i < 5; i++)
{
scanf_s("%d", &a[i]);//依据for循环依次给数组赋值
}
for(int i=0;i<4;i++)//因为有五个数 所以要比较4次
{
int min = i;
for (int j=i+1; j < 5; j++)
{
if (a[min] > a[j]) //假设a[min]即a[0]为最小,依次比较。
{
min = j;
}
t = a[min];//比较后,交换双方的值
a[min] = a[i];
a[i] = t;
}
}
for (int i = 0; i<5; i++)
printf("%d ",a[i]);
return 0;
给数组赋值时,用for循环,输出时同理
比较大小,用冒泡法,需要嵌套的for循环,最外层时控制比较一圈的次数
里层是比较相邻的俩个数。
冒泡排序算法的原理如下:
1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个。
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。