C语言四个数从小到大排列的程序

来源:百度知道 编辑:UC知道 时间:2024/06/09 03:13:00
TC程序编写此程序

#include <stdio.h>
#define N 4
void main()
{
int i,j,tmp;
int a[N]={0};
for(i=0;i<N;i++)//输入四个数
{
printf("请输入第%d个数:",i+1);
scanf("%d",&a[i]);
}

for(i=0;i<N-1;i++)//选择法排序
{
for(j=i+1;j<N;j++)
{
if (a[i]>a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}

for(i=0;i<N;i++)//输出排序后数组
printf("%d\n",a[i]);

}

汗,。。。。。任意一本家才上都有 什么冒泡 选择 插入排序都是啊

、排序算法
(1)分析
因为每一趟排序都使有序区增加了一个气泡,在经过n-1趟排序之后,有序区中就有n-1个气泡,而无序区中气泡的重量总是大于等于有序区中气泡的重量,所以整个冒泡排序过程至多需要进行n-1趟排序。
若在某一趟排序中未发现气泡位置的交换,则说明待排序的无序区中所有气泡均满足轻者在上,重者在下的原则,因此,冒泡排序过程可在此趟排序后终止。为此,在下面给出的算法中,引入一个布尔量exchange,在每趟排序开始前,先将其置为FALSE。若排序过程中发生了交换,则将其置为TRUE。各趟排序结束时检查exchange,若未曾发生过交换则终止算法,不再进行下一趟排序。

(2)具体算法
void BubbleSort(SeqList R)
{ //R(l..n)是待排序的文件,采用自下向上扫描,对R做冒泡排序