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 array5
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