#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;
int min;//用于存放当前最值元素下标
double temp;
for(i=0;i<num-1;i++)//按顺序将前num-1个元素归位
{
min = i;
for(j=i+1;j<num;j++)//在未排序的部分中查找最值
{
if(nums[min] > nums[j])
min = j;
}
temp = nums[i];//交换
nums[i] = nums[min];
nums[min] = temp;
}
}
void output(double *nums,int num)
{
int i;
for(i=0;i<num;i++)
printf("%.2lf\t",nums[i]);
}
C语言之简单选择排序
最新推荐文章于 2022-11-11 21:30:12 发布