2. 编写程序,随机输入8个整数,使用冒泡排序算法将所有输入的整数按照从小到大的顺序排序后输出。使用python
时间: 2024-09-20 13:09:34 浏览: 21
当然,这里是一个简单的Python程序,用于实现冒泡排序算法来对用户输入的8个整数进行排序:
```python
import random
def bubble_sort(numbers):
n = len(numbers)
for i in range(n):
for j in range(0, n - i - 1):
if numbers[j] > numbers[j + 1]:
# 交换元素
numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j]
return numbers
# 随机生成8个整数
input_numbers = [random.randint(1, 100) for _ in range(8)]
print("原始输入的整数:", input_numbers)
# 对数字进行排序
sorted_numbers = bubble_sort(input_numbers)
print("排序后的整数:", sorted_numbers)
```
这个程序首先导入了`random`模块来生成随机整数,然后定义了一个`bubble_sort`函数,该函数接受一个整数列表作为参数,并通过冒泡排序算法对其进行排序。接着生成一个包含8个随机整数的列表,将其传递给排序函数,并最后输出排序结果。
相关问题
c语言编写程序对10个整数进行排序。随机输入10个整数,然后进行排序,再输出从小到大的顺序和从大到小的顺序。
在C语言中,你可以使用快速排序、冒泡排序、选择排序等算法对10个整数进行排序。这里我们提供一种简单的冒泡排序示例,因为其代码易于理解:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
srand(time(0)); // 设置随机数种子,保证每次运行结果不同
int nums[10]; // 存放10个随机整数
for (int i = 0; i < 10; i++) {
nums[i] = rand() % 100; // 随机生成0-99之间的整数
}
printf("原始数组(升序):\n");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
bubble_sort(nums, 10);
printf("排序后数组(升序):\n");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
// 输出降序
for (int i = 9; i >= 0; i--) { // 从后向前打印,模拟降序排列
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
用C++ 编写程序对10个整数进行排序。随机输入10个整数,然后进行排序,再输出从小到大的顺序和从大到小的顺序。
在C++中,你可以使用`<algorithm>`库提供的排序算法如`sort()`来实现这个功能。这里是一个简单的例子,使用冒泡排序算法和快速排序算法分别实现从大到小和从小到大的排序:
```cpp
#include <iostream>
#include <vector>
#include <cstdlib> // 需要头文件用于获取随机数
#include <ctime> // 时间函数
// 冒泡排序从小到大
void bubbleSort(std::vector<int>& nums) {
int n = nums.size();
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - i - 1; ++j) {
if (nums[j] > nums[j + 1]) {
std::swap(nums[j], nums[j + 1]);
}
}
}
}
// 快速排序从大到小
void quickSort(std::vector<int>& nums, int low, int high) {
if (low < high) {
int pivot = nums[high]; // 最后一个元素作为基准
int i = low - 1;
for (int j = low; j < high; ++j) {
if (nums[j] >= pivot) {
i++;
std::swap(nums[i], nums[j]);
}
}
std::swap(nums[i + 1], nums[high]);
quickSort(nums, low, i);
quickSort(nums, i + 2, high);
}
}
int main() {
srand(time(0)); // 设置随机种子
std::vector<int> nums(10); // 创建一个包含10个整数的向量
// 随机生成10个整数并填充向量
for (auto& num : nums) {
num = rand() % 100; // 取0-99之间的随机整数
}
// 输出原始数组
std::cout << "Original array: ";
for (const auto& num : nums) {
std::cout << num << " ";
}
std::cout << "\n";
// 冒泡排序从小到大
bubbleSort(nums);
std::cout << "Sorted in ascending order: ";
for (const auto& num : nums) {
std::cout << num << " ";
}
std::cout << "\n";
// 快速排序从大到小
quickSort(nums, 0, nums.size() - 1);
std::cout << "Sorted in descending order: ";
for (const auto& num : nums) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
```