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

2024-11-29 01:47:08
推荐回答(3个)
回答1:

/* 冒泡排序法 */
#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:

#include
#include

void maopao(int *a,int len)
{ int i,j,t;
for(i=0;i {
for(j=0;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:

你需要那种排序算法来排序了?排序有很多算法的,你这个题目有要求没,如果没的话,楼下的冒泡你你就可以用。