用c++编程:利用选择排序法,实现 5 个数从小到大排序
时间: 2023-05-31 13:08:05 浏览: 82
好的,这是一个计算机编程问题,我可以为您提供解答。
以下是用 C 语言实现选择排序的代码,可以实现对 5 个数从小到大排序。
```c
#include<stdio.h>
void selectsort(int a[], int n) {
int i, j, min, temp;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++)
if (a[j] < a[min])
min = j;
if (min != i) {
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
}
int main() {
int a[5], i;
printf("请输入5个数字:\n");
for (i = 0; i < 5; i++)
scanf("%d", &a[i]);
selectsort(a, 5);
printf("排序后的数字为:\n");
for (i = 0; i < 5; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
```
希望可以帮助到您,如果您有更多的问题,欢迎随时向我提出。
相关问题
使用c++运算:利用冒泡排序法,实现 5 个数从小到大排序
好的,这个问题可以回答。以下是一个 C 语言程序,使用冒泡排序法实现 5 个数从小到大排序:
```
#include <stdio.h>
int main() {
int nums[5];
printf("请输入五个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &nums[i]);
}
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
if (nums[j] > nums[j+1]) {
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
printf("从小到大排序后的五个整数为:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
写一个C++程序:用选择法对数组元素进行从小到大的排序
以下是用选择法对数组元素进行从小到大排序的C++程序:
```
#include <iostream>
using namespace std;
void selectionSort(int arr[], int n) {
int i, j, minIndex, tmp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}
int main() {
int arr[] = { 64, 25, 12, 22, 11 };
int n = sizeof(arr) / sizeof(arr[0]);
selectionSort(arr, n);
cout << "Sorted array: \n";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
程序中的 `selectionSort` 函数使用选择排序算法对输入的数组进行排序。该算法基于选择数组中的最小元素并将其与数组的第一个元素交换位置,然后选择剩余元素中的最小元素并将其与数组的第二个元素交换位置,以此类推,直到数组完全排序。
在 `main` 函数中,我们将输入的数组传递给 `selectionSort` 函数,并输出排序后的数组。