C语言之冒泡排序

匿名 (未验证) 提交于 2019-12-03 00:27:02

最简单的排序方法,是很多排序方法的前身,比如快速排序,但效率较低。

#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]); 	} } 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!