四、程序简单选择从排序,将数组元素按小到大顺序排序。(请在空中填写表达式或语句等)void sort(Int array[], Int ( int 1,J.k, t; for(1=0;1<n 1;1++) /*外循环表示比较轮数(用i表示); */ for(JoI+1;J<n;j++) /*设置比较的位置k; */ ifarryd(arrny[k])_ =j; If(_!a1) /*判断,如果k不等于i*/ array[k]=t; } void muin() int al101,1; frl-(:(0;1+0+)) sor(__,10); sanf('"a[i]); pit(\n"; printf("%d(函费调用,数组名作为实参*/ ,a[i]); (请在空中填写表达式或语句符)
时间: 2024-03-29 14:38:57 浏览: 23
void sort(int array[], int n) {
int i, j, k, t;
for (i = 0; i < n - 1; i++) {
k = i;
for (j = i + 1; j < n; j++) {
if (array[j] < array[k]) {
k = j;
}
}
if (k != i) {
t = array[i];
array[i] = array[k];
array[k] = t;
}
}
}
int main() {
int a[10], i;
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
sort(a, 10);
for (i = 0; i < 10; i++) {
printf("%d\n", a[i]);
}
return 0;
}
相关问题
生成20个[10,30]内的随机整数,并按绝对值从大到小排序。输出排序后的数组元素。c++
以下是C++代码实现:
```cpp
#include <iostream>
#include <cstdlib>
#include <algorithm>
using namespace std;
int main() {
int arr[20];
for (int i = 0; i < 20; i++) {
arr[i] = rand() % 21 + 10; // 生成10到30的随机整数
if (rand() % 2 == 0) { // 随机取相反数
arr[i] = -arr[i];
}
}
sort(arr, arr + 20, [](int a, int b){ return abs(a) > abs(b); }); // 按绝对值从大到小排序
for (int i = 0; i < 20; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
其中,我们使用了 `rand()` 函数来生成随机整数,使用了 `sort()` 函数来排序。排序时使用了 lambda 表达式,它的作用是比较两个数的绝对值大小,从而实现按绝对值从大到小排序。
C#数组从大到小排序
要将C#数组从大到小排序,可以使用Array类Sort方法,并传入一个自定义的比较器。以下是一个示例代码:
```csharp
using System;
class Program
{
static void Main()
{
int[] numbers = { 5, 2, 8, 1, 9 };
Array.Sort(numbers, (x, y) => y.CompareTo(x));
foreach (int number in numbers)
{
Console.WriteLine(number);
}
}
}
```
在上述代码中,我们使用Array.Sort方法对numbers数组进行排序。通过传入一个lambda表达式作为比较器,我们可以实现从大到小的排序。lambda表达式 `(x, y) => y.CompareTo(x)` 将会比较y和x的大小,实现反向排序。
运行上述代码,输出会按照从大到小的顺序打印数组元素:
```
9
8
5
2
1
```