C 语言程序:按升序排序数组


问题

根据编写的代码,将给定的数组按降序或升序排序。

解决方案

数组是一组相关的项目,它们共享一个共同的名称。数组中的特定值可以通过其“索引号”来识别。

声明数组

声明数组的语法如下:

datatype array_name [size];

例如:

float marks [50]

它声明 'marks' 为一个包含 50 个浮点型元素的数组。

int number[10]

它声明 'number' 为一个数组,最多可以包含 10 个整型常量。

每个元素都通过使用“数组索引”来识别。

通过使用数组索引可以轻松地访问数组元素。

我们用于按升序排序数组元素的逻辑如下:

for (i = 0; i < n; ++i){
   for (j = i + 1; j < n; ++j){
      if (num[i] > num[j]){
         a = num[i];
         num[i] = num[j];
         num[j] = a;
      }
   }
}

程序

以下是 C 语言程序,用于按升序排序数组:

 在线演示

#include <stdio.h>
void main (){
   int num[20];
   int i, j, a, n;
   printf("enter number of elements in an array
"
);    scanf("%d", &n);    printf("Enter the elements
"
);    for (i = 0; i < n; ++i)       scanf("%d", &num[i]);    for (i = 0; i < n; ++i){       for (j = i + 1; j < n; ++j){          if (num[i] > num[j]){             a = num[i];             num[i] = num[j];             num[j] = a;          }       }    }    printf("The numbers in ascending order is:
"
);    for (i = 0; i < n; ++i){       printf("%d
"
, num[i]);    } }

输出

执行上述程序时,会产生以下结果:

enter number of elements in an array
5
Enter the elements
12
23
89
11
22
The numbers in ascending order is:
11
12
22
23
89

更新于: 2023年9月2日

101K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

立即开始
广告