一维数组排序】 使用C语言输入10个整数到一维数组,计算平均值, 并按从小到大顺序排序(用函数实现选择法或冒泡法排序)。要求:用4个函数分别实现数组的输入、输出、平均值计算和排序。 【运行结果示例】 输入: 1 2 3 4 5 7 0 9 8 6 输出: 1 2 3 4 5 7 0 9 8 6 (第一行输出数组元素,之间用1个空格隔开) 0 1 2 3 4 5 6 7 8 9 (第二行输出排序后的数组元素,之间用1个空格隔开) ave=4.500000 一维数组排序】 输入10个整数到一维数组,计算平均值, 并按从小到大顺序排序(用函数实现选择法或冒泡法排序)。要求:用4个函数分别实现数组的输入、输出、平均值计算和排序。 【运行结果示例】 输入: 1 2 3 4 5 7 0 9 8 6 输出: 1 2 3 4 5 7 0 9 8 6 (第一行输出数组元素,之间用1个空格隔开) 0 1 2 3 4 5 6 7 8 9 (第二行输出排序后的数组元素,之间用1个空格隔开) ave=4.500000 (第三行输出平均值) (第三行输出平均值)
时间: 2023-12-19 12:04:04 浏览: 87
以下是代码实现:
```c
#include <stdio.h>
//数组输入函数
void input(int arr[], int len){
printf("请输入%d个整数:\n", len);
for(int i=0; i<len; i++){
scanf("%d", &arr[i]);
}
}
//数组输出函数
void output(int arr[], int len){
printf("数组元素为:\n");
for(int i=0; i<len; i++){
printf("%d ", arr[i]);
}
printf("\n");
}
//计算平均值函数
float average(int arr[], int len){
float sum = 0;
for(int i=0; i<len; i++){
sum += arr[i];
}
return sum/len;
}
//选择排序函数
void selection_sort(int arr[], int len){
for(int i=0; i<len-1; i++){
int min_index = i;
for(int j=i+1; j<len; 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];
int len = sizeof(arr)/sizeof(int);
input(arr, len);
output(arr, len);
selection_sort(arr, len);
printf("排序后的数组为:\n");
output(arr, len);
float ave = average(arr, len);
printf("平均值为:%.6f\n", ave);
return 0;
}
```
运行结果示例:
```
请输入10个整数:
1 2 3 4 5 7 0 9 8 6
数组元素为:
1 2 3 4 5 7 0 9 8 6
排序后的数组为:
0 1 2 3 4 5 6 7 8 9
平均值为:4.500000
```