用冒泡排序法对输入的20个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出数组中对应的下标值。,c++
时间: 2024-12-15 20:22:42 浏览: 8
首先,我们需要创建一个包含20个未排序整数的数组,并使用冒泡排序算法对其进行降序排序。然后我们创建一个函数来检查给定的数值是否在数组中,并返回它的索引。以下是C++的一个简单实现:
```cpp
#include <iostream>
void bubbleSort(int arr[], int n, bool desc) {
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - i - 1; ++j) {
if (desc) { // 降序排序
if (arr[j] < arr[j + 1]) {
std::swap(arr[j], arr[j + 1]);
}
} else { // 升序排序(这里不做演示,因为题目要求降序)
if (arr[j] > arr[j + 1]) {
std::swap(arr[j], arr[j + 1]);
}
}
}
}
}
bool searchAndPrintIndex(int target, const int* arr, int size) {
for (int i = 0; i < size; ++i) {
if (arr[i] == target) {
std::cout << "找到目标元素,下标为: " << i << std::endl;
return true;
}
}
std::cout << "找不到目标元素\n";
return false;
}
int main() {
const int arraySize = 20;
int numbers[arraySize];
// 获取并填充数组
for (int i = 0; i < arraySize; ++i) {
std::cout << "请输入第" << i+1 << "个数: ";
std::cin >> numbers[i];
}
// 冒泡排序
bubbleSort(numbers, arraySize, true);
// 输入一个数并搜索其在数组中的位置
int input;
std::cout << "请输入要查找的数: ";
std::cin >> input;
searchAndPrintIndex(input, numbers, arraySize);
return 0;
}
阅读全文