第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
你需要那种排序算法来排序了?排序有很多算法的,你这个题目有要求没,如果没的话,楼下的冒泡你你就可以用。