【一维数组排序】 输入10个整数到一维数组,计算平均值, 并按从小到大顺序排序(用函数实现选择法或冒泡法排序)。要求:用4个函数分别实现数组的输入、输出、平均值计算和排序。
时间: 2023-07-16 07:14:51 浏览: 109
以下是使用选择排序法对一维数组进行排序的示例代码,包括四个函数:input_array()、output_array()、average_value()和selection_sort()。你可以将代码复制到本地编译运行,也可以根据自己的需要进行修改。
```c
#include <stdio.h>
void input_array(int arr[], int n) {
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
}
void output_array(int arr[], int n) {
printf("数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
double average_value(int arr[], int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
}
return sum / n;
}
void selection_sort(int arr[], int n) {
int min_index;
for (int i = 0; i < n - 1; i++) {
min_index = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
if (min_index != i) {
int temp = arr[i];
arr[i] = arr[min_index];
arr[min_index] = temp;
}
}
}
int main() {
int arr[10];
input_array(arr, 10);
output_array(arr, 10);
double avg = average_value(arr, 10);
printf("平均值为:%f\n", avg);
selection_sort(arr, 10);
printf("排序后的数组为:\n");
output_array(arr, 10);
return 0;
}
```
阅读全文