/*冒泡排序-输入数字以0为结束标志-从小到大*/
//5个数字排序练习
#include <stdio.h>
int main()
{
int buff[5]={3,4,2,1,0};
int i,j; //3,4,2,1,0
for(i=0;i<5-1;i++)
{
for(j=0;j<5-1-i;j++)
{
int temp;
if(buff[j]>buff[j+1])
{
temp=buff[j];
buff[j]=buff[j+1];
buff[j+1]=temp;
}
}
}
for(i=0;i<5;i++)
{
printf("%d",buff[i]);
}
printf("\n");
}
// 冒泡排序-输入数字以0为结束标志-从小到大
//n个数排n-1趟:i=0;i<n-1; (0,1,...,n-2)
//第1趟排n-1个数:i=0; j=0;j<n-1-0; (0,1,...,n-2)
//第n-1趟排1个数:i=n-2; j=0;j<n-1-(n-2); (0)
#include <stdio.h>
int main()
{
int buff[128];
int i,j,num;
printf("输入排序数列:");
for(i=0;i<128;i++)
{
scanf("%d",&buff[i]);
if(buff[i]==0)
{
num=i;
break;
}
}
for(i=0;i<num-1;i++)
{
for(j=0;j<num-1-i;j++)
{
int temp;
if(buff[j]>buff[j+1])
{
temp=buff[j];
buff[j]=buff[j+1];
buff[j+1]=temp;
}
}
}
printf("排序结果:");
for(i=0;i<num;i++)
{
printf("%d ",buff[i]);
}
printf("\n");
}
/*编译结果:
输入排序数列: 2 3 5 3 76 43 123 12 0 45
排序结果:2 3 3 5 12 43 76 123
*/