最简单的排序方法,是很多排序方法的前身,比如快速排序,但效率较低。
#include <stdio.h> void input(double *nums,int num); void sort(double *nums,int num); void output(double *nums,int num); int main(void) { int num; printf("请输入要排序元素的数量:"); scanf("%d",&num); double nums[num];//C99标准 input(nums,num);//录入 sort(nums,num);//排序 output(nums,num);//输出 return 0; } void input(double *nums,int num) { int i; for(i=0;i<num;i++) { printf("请输入第%d个数:",i+1); scanf("%lf",nums+i); } } void sort(double *nums,int num) { int i,j; double temp; for(i=0;i<num-1;i++)//控制排序最大下标 { for(j=0;j<num-1-i;j++)//两两逐个比较 { if(nums[j] > nums[j+1])//改变不等号方向,改变升降序 { temp = nums[j+1];//交换 nums[j+1] = nums[j]; nums[j] = temp; } } } } void output(double *nums,int num) { int i; for(i=0;i<num;i++) { printf("%.2lf\t",nums[i]); } }
文章来源: C语言之冒泡排序