C语言怎样给一个数组中的数从大到小排序

供稿:hz-xin.com     日期:2025-01-16
C语言怎样给一个数组中的数从大到小排序

#include "stdio.h"
int main()
{
int i,j;
int a[12];
for(i=1; i<=10; ++i)
scanf("%d",&a[i]);

for(i=1; i<10; ++i)
for(j=i; j<=10; ++j)
if(a[i]<a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
//前十个数的排序
for(i=1; i<=10; ++i)
printf("%d ",a[i]);
printf("
");

printf("Input a new number: ");
scanf("%d",&a[11]);
for(i=10; i>0; --i)
if(a[i+1]>a[i])
{
int t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
else break;
//11个数的排序
for(i=1;i<=11; ++i)
printf("%d ",a[i]);
printf("
");
return 0;
}

if(num2<num3)
{
tem=num2;
num2=num3;
num2=tem;///////////////////////num2改为num3

%d%d>%d

插入排序 希尔排序
冒泡排序 堆排序
选择排序 快速排序
归并排序
基数排序

首先找出最大的数放第一位,再找第二大第三大……就可以了

void Sort(int a[], int n)  
{  
       int i, j;  
       for (i = 0; i < n; i++)  
              for (j = 1; j < n - i; j++)  
                     if (a[j - 1] < a[j])  
                     {
                          a[j - 1] ^= a[j];
                          a[j] = a[j - 1] ^ a[j];
                          a[j - 1] ^= a[j];
                     }  
}


建议搜索排序算法,最简单的就是冒泡排序。

要一个一个判断 没法自动排序的

c语言构造一个包含10个数的整型数组对数组排序(由大到小)求大神
include <stdio.h>#define SIZE 10 int GetNumber(void);void Sort(int *arr ,int length);int main(void){ int arr[SIZE]; \/\/定义一个数组 puts("请依次输入数组的元素值"); for(int i=0;i<SIZE;++i) \/\/初始化元素的值 { arr[i] = GetNumber(); } ...

求C语言将数组元素大小排序!!
C语言将数组元素大小排序方法:以下使用的是冒泡排序法实线数组从小到大排序。思想:每次相邻两个数比较,若升序,则将大的数放到后面,一次循环过后,就会将最大的数放在最后。10、2、3、4、5、6、9、8、7、1是输入的待排序的数列,经过第一次排序,将最大的,10放在最后,第二次排序,将剩下的...

java:.定义一个数组,存储10个整数,对这10个整数进行从小到大排序后输出...
在Java编程语言中,数组是一种重要的数据结构,用于存储一系列相同类型的元素。今天,我们将探讨如何定义一个能够存储10个整数的数组,并使用插入排序算法对这10个整数进行从小到大的排序,最后输出排序后的结果。首先,我们需要定义一个名为Composit的类,其中包含一个名为insertSort的方法。这个方法接收一...

c语言中如何将10个数由大到小的顺序输出
先排序 再输出。include <stdio.h>int main(){ int a[10],i,j, t; for(i = 0; i < 10; i ++) scanf("%d",&a[i]); for(i = 0; i < 9; i ++) for(j = i+1; j < 10; j ++) if(a[i]...

C语言~十个数字从小到大怎么排列~从大到小呢~
用数组来存放十个数字,使用“冒泡排序”来实现排序。10个数字需进行9轮扫描,每次扫描时比较相邻的二个数,如它们不符合要求的大小关系,就交换它们的位置。第一轮扫描结束时,最大的数就“沉”到最后。于是第二的范围就少了一个数。再进行第二两栖型、第三轮,…——直到第9轮就完成了。最后输出...

C语言四个数由大到小排列
可以将四个数先存到数组中,然后进行插入排序。一、算法设计:1、输入4个数;2、使用任意方法进行排序;3、输出结果。二、算法优化:如果选择插入排序,那么可以在输入过程中,同时完成排序操作,减少一次循环,提高效率。三、参考代码:include <stdio.h>int main(){ int i,j,a[4],n; for...

用c语言编程:键盘上输入N个整数,使该数组中的数按照从小到大的次序排列...
include "stdio.h"define N 10 int main(int argc,char *argv[]){ int a[N],i,j,k;printf("Please enter %d integer(s)...\\n",N);for(i=0;i<N;scanf("%d",a+i++));\/\/输入 for(i=0;i<N;i++){\/\/选择法排序 for(k=i,j=k+1;j<N;j++)if(a[k]>a[j])k=j;if...

C语言用一个for循环对一维数组进行从大到小排序
include <stdio.h> int main(){ int i, j, tmp;int b[]={18,24,12,59,101,96,34};for(i = 0; i < 6; i++)for(j = i + 1; j < 7 ; j++){ if(b[i] > b[j]){ tmp = b[i];b[i] = b[j];b[j] = tmp;} } i = 0;while(i++ < 7)printf("%d ",...

编写C语言程序,把一个数组按从小到大的次序排列起来
number[j] = number[j + 1];\/\/将相对较小的元素送达前面一个位置 number[j + 1] = k;\/\/将中间变量元素送给后面一个位置 } if (New_number[j] < New_number[j + 1])\/\/比较大小并将大的赋给前面的数组 { k = New_number[j + 1];\/\/将相对较小的元素赋值给中间元素 New_number[...

用VB语言:给数组输入N个数,按从大到小排序输出各数,并求出最大和最小...
If arr1(i) <= arr1(j) Then temp = arr1(i): arr1(i) = arr1(j): arr1(j) = temp End If Next Next For Each item In arr1 If max < item Then max = item If min > item Then min = item Print item;Next Print "最大值"; max, "最小值"; min End Sub ...