C语言对一维数组a[N]的处理: (1)实现数组a[N]的输入和输出; (2)找出数组a[N]的最大值或最小值; (3)对数组a[N]进行倒置; (4)求数组a[N]所有元素的和及平均值; (5)采用冒泡法和选择法对数组a[N]进行从小到大或从大到小排序。
时间: 2023-12-16 17:02:30 浏览: 32
以下是对一维数组a[N]进行处理的C语言代码:
```c
#include <stdio.h>
void inputArray(int a[], int N) {
printf("请输入数组元素:\n");
for (int i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
}
void outputArray(int a[], int N) {
printf("数组元素为:");
for (int i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
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 temp;
for (int i = 0; i < N / 2; i++) {
temp = a[i];
a[i] = a[N - 1 - i];
a[N - 1 - i] = temp;
}
}
int sumArray(int a[], int N) {
int sum = 0;
for (int i = 0; i < N; i++) {
sum += a[i];
}
return sum;
}
float averageArray(int a[], int N) {
float average = (float)sumArray(a, N) / N;
return average;
}
void bubbleSort(int a[], int N) {
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < N - 1 - i; 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() {
int N;
printf("请输入数组的大小N:");
scanf("%d", &N);
int a[N];
// 输入数组
inputArray(a, N);
// 输出数组
outputArray(a, N);
// 找出最大值
int max = findMax(a, N);
printf("数组的最大值为:%d\n", max);
// 找出最小值
int min = findMin(a, N);
printf("数组的最小值为:%d\n", min);
// 倒置数组
reverseArray(a, N);
printf("倒置后的数组为:");
outputArray(a, N);
// 求数组元素的和
int sum = sumArray(a, N);
printf("数组元素的和为:%d\n", sum);
// 求数组元素的平均值
float average = averageArray(a, N);
printf("数组元素的平均值为:%.2f\n", average);
// 冒泡法排序(从小到大)
bubbleSort(a, N);
printf("冒泡法排序后的数组为:");
outputArray(a, N);
// 选择法排序(从大到小)
selectionSort(a, N);
printf("选择法排序后的数组为:");
outputArray(a, N);
return 0;
}
```
运行程序后,根据提示进行相应操作,可以完成对一维数组a[N]的输入、输出、最大值和最小值的查找、倒置、求和和平均值、冒泡法排序和选择法排序等操作。