编写一个C语言程序,实现以下功能:创建一个函数接收10个整数作为输入;第二个函数执行操作,即将数组中的最小值与第一个元素交换,同时将最大值与倒数第二个和最后一个元素分别交换;第三个函数用于显示处理后的10个数。请提供完整的C代码实现这3个函数。
时间: 2024-11-17 10:28:16 浏览: 47
以下是使用C语言实现的完整代码,包含三个函数:
```c
#include <stdio.h>
// 函数1:接收10个整数作为输入
void input_numbers(int arr[], int size) {
printf("请输入10个整数,用空格分隔:");
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
}
// 函数2:执行操作,交换数组中的元素
void swap_elements(int arr[], int size) {
// 寻找最小值和最大值
int min_val = arr[0];
int max_val = arr[0];
int min_index = 0;
int max_index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < min_val) {
min_val = arr[i];
min_index = i;
}
if (arr[i] > max_val) {
max_val = arr[i];
max_index = i;
}
}
// 交换元素
arr[0] = min_val;
arr[size - 1] = max_val;
arr[min_index] = arr[size - 2];
arr[size - 2] = max_val;
}
// 函数3:显示处理后的数组
void display_numbers(int arr[], int size) {
printf("处理后的10个数是: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[10];
input_numbers(arr, 10);
swap_elements(arr, 10);
display_numbers(arr, 10);
return 0;
}
```
在这个代码中,`input_numbers`函数读取用户输入的10个整数,`swap_elements`函数找到并执行交换操作,`display_numbers`函数打印处理后的数组。
阅读全文