C语言编写一个对一组数进行排序的函数,然后在主函数中调用该函数对输入的若干个整数按从小到大方式排序。

如题所述

第1个回答  2012-05-11
/* 冒泡排序法 */
#include "stdio.h"
#define SIZE 10

void Paixi(int a[]){
int pass,i,hold;
for(pass=0;pass<=SIZE-1;pass++) /* pass */
for(i=0;i<=SIZE-2;i++) /* one pass */

if(a[i]>a[i+1]) /* one comparison */
{
hold=a[i];
a[i]=a[i+1];
a[i+1]=hold;
}

}

void main()
{
int i, a[SIZE]={1,5,2,4,8,6,14,21,30,25};

printf("Data item in original order \n");
for(i=0;i<=SIZE-1;i++)
printf("%4d",a[i]);

Paixi(a);

printf("\n Data items in ascending order \n");

for(i=0;i<=SIZE-1;i++)
printf("%4d", a[i]);
printf("\n");
}本回答被提问者和网友采纳
第2个回答  2012-05-12
#include <stdio.h>
#include <stdlib.h>

void maopao(int *a,int len)
{ int i,j,t;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main(void)
{ int a[] = {1,9,3,7,4,2,5,0,6,8};

maopao(&a,10);
// int b[10];
int i=0;
for(i=0;i<10;i++)
{
printf("%d",a[i]);
}

system("PAUSE");
return 0;
}
用的什么编译器 ? 如果是DevCpp 就是上面的 如果是其他的编译器就把 system("PAUSE"); 改为 getchar();就可以了。
第3个回答  2012-05-11
你需要那种排序算法来排序了?排序有很多算法的,你这个题目有要求没,如果没的话,楼下的冒泡你你就可以用。
相似回答