在这个程序中,我们需要将给定的数组按降序排序,使元素从大到小排列。排序是将数组或列表中的数字按某种顺序(升序或降序)重新排列的过程。在这里,您将看到如何将数组按降序排序。排序非常方便,在实际生活中有很多应用层面的用途。在 C 语言编程中,根据用于排序元素的技术不同,使用不同种类的排序方法。每种模式都使用不同的样式,并且对于最佳情况和最坏情况都具有不同的复杂性。C 语言中的一些排序方式有:
降序排列意味着将数字从大到小排列。在这个 C 语言程序中,我们需要将数组的元素按降序排列。例如,如果我们有一组数字,如“1, 5, 3, 8, 7, 6”。我们需要将其更改为“8, 7, 6, 5, 3, 1”,即按降序排序。
在这个 C 语言程序中,我们接受用户想要排序的数字的数量。然后我们使用一个 `for 循环` 从用户那里接受数字并将其保存到数组 **number[]** 中。通过使用嵌套 `for 循环`,将数组的每个元素与下一个数字进行比较;如果该数字小于下一个数字,那么我们将使用一个临时变量交换这些数字。最后,使用 `for 循环` 显示按降序排序的数组。
在这个程序中,使用了 `for 循环`。for 循环的语法如下:
for (initializationStatement; testExpression; updateStatement)
{
// codes
}
这里初始化语句只执行一次。最初,测试表达式被求值。如果测试表达式为假,我们终止循环。但如果测试表达式为真,则执行 for 循环内的代码并更新表达式。此过程一直持续到测试表达式为假。这种类型的循环通常在迭代次数已知时使用。
步骤 1:包含头文件以在 C 程序中使用内置函数。
步骤 2:声明整数变量 **i, j, a, n** 和数组 **number[30]**。
步骤 3:将 **N** 的值读入变量 **n**。
步骤 4:使用 `for 循环` 将数字读入数组 **number[i]**。
步骤 5:设置 **i=0**。
步骤 6:检查 'i'
步骤 7:设置 **j=i+1**。
步骤 8:检查 **number[i]**。
步骤 9:将 'j' 增加 **1** 并执行步骤 7。
步骤 10:将 'i' 增加 **1** 并执行步骤 6。
步骤 11:使用 `for 循环` 显示按降序排列的数字,即数组 **number[i]** 中的数字。
#include <stdio.h>
void main() {
int number[30];
int i, j, a, n;
printf("Enter the value of N\n");
scanf("%d", & n);
printf("Enter the numbers \n");
for (i = 0; i < n; ++i)
scanf("%d",& number[i]);
for (i = 0; i < n; ++i) /* sorting begins ...*/ {
for (j = i + 1; j < n; ++j) {
if (number[i] < number[j]) {
a = number[i];
number[i] = number[j];
number[j] = a;
}
}
}
printf("The numbers arranged in descending order are given below\n");
for (i = 0; i < n; ++i) {
printf("%d\n", number[i]);
}
} /* End of main() */
Enter the value of N 6 Enter the numbers 10 35 67 100 42 688 The numbers arranged in descending order are given below 688 100 67 42 35 10