急!!!c语言题目,用冒泡法调用函数对10个数进行从小到大排序(程序越简单越好,不然看不懂,大神,

急!!!c语言题目,用冒泡法调用函数对10个数进行从小到大排序(程序越简单越好,不然看不懂,大神,靠你们了) 谢!!

void maopao(int a[],int n) //n为数量
{
int i,j,temp;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
if(a[i] > a[i+1]) //数组元素大小按升序排列
{
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
两个循环:i::第一个数字做9次比较,使最后一位为最大,然后第一个数字再做8次比较使倒数第二位为最大,依次类推。j::一共大比较9次,使数组元素大小按升序排列。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-01
main()
{int i,j,n,a[10];
printf("输入10个数:");
for(i=0;i<10;i++)
scanf("%d,",&a[i]);//记得输入的时候后面加“,”
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
if(a[i]>a[j]) //改成(a[i]<a[j])可按大到小排序
{ n=a[i];a[i]=a[j];a[j]=n;}
printf("\n由小到大排序结果为:");
for(i=0;i<10;i++)
printf("%d,",a[i]);
}
第2个回答  2014-03-01
#include <stdio.h>
void sort(int *a,int len)
{int i=0;
int j;
int t;
for(i=0;i<len;i++)
{
for(j=0;j<len-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main(int argc, char *argv[])
{
int a[10]={
-999,2,3,77,12,88,0,-8,99,100
};

int i=0;
sort(a,10);

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

return 0;
}本回答被网友采纳
相似回答