c语言数字从大到小排列
C语言数字从大到小排列
C语言中,数字的排序是程序员需要掌握的计算机技能之一。下面将介绍如何使用C语言编写程序来实现数字从大到小的排序。
I. 程序思路
1. 输入需要排序的数字,将其存储在数组中;
2. 从数组中选择一个数字作为基准点,将比基准点小的数字放在基准点左边,比基准点大的数字放在基准点右边;
3. 对基准点左边和右边的数字重复第2步,直到所有数字都排列完成。
II. 编程实现
1. 定义函数来实现数字排序:
```
void sort(int arr[], int left, int right)
{
int i, j, pivot, temp;
if (left < right) {
pivot = left;
i = left;
j = right;
while (i < j) {
while (arr[i] >= arr[pivot] && i < right)
i++;
while (arr[j] < arr[pivot])
j--;
if (i < j) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
temp = arr[pivot];
arr[pivot] = arr[j];
arr[j] = temp;
sort(arr, left, j - 1);
sort(arr, j + 1, right);
}
}
```
2. 在主函数中输入需要排序的数字,并输出排序结果:
```
int main()
{
int arr[100], i, n;
printf("请输入数字的个数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入第 %d 个数字:", i + 1);
scanf("%d", &arr[i]);
}
sort(arr, 0, n - 1);
printf("数字按从大到小排列的结果:\n");
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
在上述代码中,sort函数使用快速排序算法实现数字从大到小的排列。
III. 示例输出
以下是对输入数字为{90, 50, 60, 40, 30, 20, 10}的排序输出结果:
```
请输入数字的个数:7
请输入第 1 个数字:90
请输入第 2 个数字:50
请输入第 3 个数字:60
while语句怎么输出请输入第 4 个数字:40
请输入第 5 个数字:30
请输入第 6 个数字:20
请输入第 7 个数字:10
数字按从大到小排列的结果:
90 60 50 40 30 20 10
```
IV. 结论
使用快速排序算法可以简单、高效地实现数字从大到小的排列。对于程序员来说,掌握C语言中的数组操作和基本排序算法,是编写高质量代码的必备技能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论