输入五个任意整数,按照从大到小和从小到大的方式输出
首先我们要知道冒泡排序
冒泡排序:冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。
比较相邻的元素。如果第一个比第二个大,就交换他们两个。依次按顺序比较, 因此最后的元素应该会是最大的数。
上代码
#include<stdio.h>
int main()
{
int grade[5];
int i,j,k;
printf("请输入第任意5个数: \n",i);
for(i=0;i<5;i++) /*给数组赋值*/
scanf("%d",&grade[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++) /*在每一次循环的时候都将目前的最大值给数列的最后一位*/
if(grade[j]>grade[j+1]) /*例如,当i=0时,j最大能取3,j+1为4,将最大值给数列的*/
{ /*最后一位,在下一次循环中j最大值只能取2,以此来实*/
k=grade[j]; /*现逐个赋值*/
grade[j]=grade[j+1];
grade[j+1]=k;
}
printf("请输入排序后的元素");
for(i=0;i<5;i++) /*依次输出*/
printf("%4d",grade[i]);
printf("\n");
}
如果需要从大到小,只需要在最后输出的时候按从4到0的方法即可