C程序按升序对数组进行排序

问题

根据已编写的代码按降序或升序对给定数组进行排序。

解决方案

数组是一组共享一个公共名称的相关数据项。数组中的特定值借助其“索引号”来标识。

声明数组

声明数组的语法如下 -

datatype array_name [size];

例如,

float marks [50]

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

int number[10]

它将“数字”声明为最多包含 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\n");

   scanf("%d", &n);

   printf("Enter the elements\n");

   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:\n");

   for (i = 0; i < n; ++i){

      printf("%d\n", 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

以上是 C程序按升序对数组进行排序 的全部内容, 来源链接: utcz.com/z/353622.html

回到顶部