C语言编程:编写计算一维数组排序的函数(由大到小)

功能:将一维数组a由大到小排序
2024-12-03 00:39:54
推荐回答(4个)
回答1:

include
#include
main()
{
      int a[10],i,j,t;
      for(i=0;i<10;i++)
                       scanf("%d",&a[10]);
      for(i=0;i<9;i++)
      {for(j=0;j<9-i;j++)
       {
                         if(a[j]                         {t=a[j];a[j]=a[j+1];a[j+1]=t;}
       }
      }
      for(i=0;i<10;i++)
      printf("%d ",a[i]);
      getch();
      }

10个数

回答2:

#include
#define NUM 10
main()
{
int a[NUM],i,j,t;
printf("请输入数组a:");
for(i=0;i scanf("%d",&a[i]);
for(i=0;i for(j=0;j if(a[j] {
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i printf("%d ",a[i]);
printf("\n");
}
将NUM后的数值替换后可改变数组的大小。

回答3:

int a[100];
int i,j;
//Easy bubble sort
for(i=0; i<99; ++i)
{
    for(j=i+1; j<100; ++j)
    {
        if(a[i]        {
            //swap a[i] and a[j]
            a[i]^=a[j];
            a[j]^=a[i];
            a[i]^=a[j];
        }
    }
}

使用算法:冒泡排序+Xor数值对调

回答4:

来晚了,前面大湿正解。