最简单的排序方法,是很多排序方法的前身,比如快速排序,但效率较低。
#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]);
}