对一维数组a[N]的处理: (1)实现数组a[N]的输入和输出; (2)找出数组a[N]的最大值或最小值; (3)对数组a[N]进行倒置; (4)求数组a[N]所有元素的和及平均值; (5)采用冒泡法和选择法对数组a[N]进行从小到大或从大到小排序。
时间: 2023-12-16 21:02:45 浏览: 73
这个程序使用冒泡排序算法对一个整数数组进行排序 冒泡排序的基本思想是通过相邻元素的比较和交换,将较大的元素逐渐“冒泡”到数组的末
下面是对一维数组a[N]进行处理的实现示例:
```c++
#include <iostream>
void inputArray(int a[], int N) {
std::cout << "请输入数组的元素:" << std::endl;
for (int i = 0; i < N; i++) {
std::cin >> a[i];
}
}
void outputArray(int a[], int N) {
std::cout << "数组的元素为:";
for (int i = 0; i < N; i++) {
std::cout << a[i] << " ";
}
std::cout << std::endl;
}
int findMax(int a[], int N) {
int max = a[0];
for (int i = 1; i < N; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
int findMin(int a[], int N) {
int min = a[0];
for (int i = 1; i < N; i++) {
if (a[i] < min) {
min = a[i];
}
}
return min;
}
void reverseArray(int a[], int N) {
int start = 0;
int end = N - 1;
while (start < end) {
int temp = a[start];
a[start] = a[end];
a[end] = temp;
start++;
end--;
}
}
int sumArray(int a[], int N) {
int sum = 0;
for (int i = 0; i < N; i++) {
sum += a[i];
}
return sum;
}
double averageArray(int a[], int N) {
double sum = sumArray(a, N);
return sum / N;
}
void bubbleSort(int a[], int N) {
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < N - i - 1; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
void selectionSort(int a[], int N) {
for (int i = 0; i < N - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < N; j++) {
if (a[j] < a[minIndex]) {
minIndex = j;
}
}
int temp = a[i];
a[i] = a[minIndex];
a[minIndex] = temp;
}
}
int main() {
const int N = 5; // 假设数组长度为5
int a[N];
// 输入数组
inputArray(a, N);
// 输出数组
outputArray(a, N);
// 找出最大值和最小值
int max = findMax(a, N);
int min = findMin(a, N);
std::cout << "最大值为:" << max << std::endl;
std::cout << "最小值为:" << min << std::endl;
// 倒置数组
reverseArray(a, N);
std::cout << "倒置后的数组为:";
outputArray(a, N);
// 求数组元素的和和平均值
int sum = sumArray(a, N);
double average = averageArray(a, N);
std::cout << "数组元素的和为:" << sum << std::endl;
std::cout << "数组元素的平均值为:" << average << std::endl;
// 冒泡法排序
bubbleSort(a, N);
std::cout << "冒泡法排序后的数组为:";
outputArray(a, N);
// 选择法排序
selectionSort(a, N);
std::cout << "选择法排序后的数组为:";
outputArray(a, N);
return 0;
}
```
以上代码中,我们定义了一些用于处理一维数组的函数。`inputArray`函数用于输入数组,`outputArray`函数用于输出数组,`findMax`和`findMin`函数分别用于找出数组的最大值和最小值,`reverseArray`函数用于倒置数组,`sumArray`和`averageArray`函数分别用于计算数组元素的和和平均值,`bubbleSort`和`selectionSort`函数分别用于采用冒泡法和选择法对数组进行排序。
在main函数中,我们创建一个长度为N的整型数组a,并依次调用各个函数来处理数组。最后,输出各个处理结果。
请根据你的具体需求修改代码中的N和数组类型。
阅读全文