2. 用冒泡排序法对输入的20个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出数组中对应的下标值。C++
时间: 2024-10-20 09:15:21 浏览: 96
java输入十个数字比较大小运用冒泡
5星 · 资源好评率100%
首先,我们需要创建一个C++程序,包含一个主函数和两个辅助函数:冒泡排序函数用于降序排列数组元素,以及搜索函数用于查找指定数值在数组中的下标。
```cpp
#include <iostream>
using namespace std;
void bubbleSort(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]) {
// 交换相邻的元素,保证每次都是最大的元素向右移动
swap(arr[j], arr[j + 1]);
}
}
}
}
bool search(int target, int arr[], int n) {
for (int i = 0; i < n; i++) {
if (arr[i] == target) {
return true; // 找到了目标,返回true
}
}
return false; // 没找到目标,返回false
}
int main() {
const int N = 20;
int arr[N];
cout << "请输入20个整数:" << endl;
// 输入并存储数组元素
for (int i = 0; i < N; i++) {
cin >> arr[i];
}
// 对数组进行冒泡排序
bubbleSort(arr, N);
// 输出排序后的数组
cout << "排序后的数组(降序):" << endl;
for (int i = 0; i < N; i++) {
cout << arr[i] << " ";
}
int target;
cout << "\n请输入一个数字查找其是否存在:" << endl;
cin >> target;
// 查找目标数的下标
bool found = search(target, arr, N);
if (found) {
cout << "\n" << target << " 存在于数组中,下标为:" << searchIndex << endl;
} else {
cout << "\n" << target << " 不在数组中。\n";
}
return 0;
}
阅读全文