用指针实现,输入6个整数,把最小数与第1个数交换,最大数与最后1个数交换,其它数据不动。输入保证最大值和最小值唯一。请编写3个函数: (1)输入6个数; (2)进行处理函数; (3)输出6个数,每个
时间: 2025-01-04 18:38:08 浏览: 42
在C语言中,可以使用指针来实现这个功能。这里我会提供一个简单的示例,包括三个函数:`input_numbers`、`process_numbers` 和 `print_numbers`。
```c
#include <stdio.h>
// 函数1:输入6个整数
void input_numbers(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("请输入第 %d 个数:", i + 1);
scanf("%d", &arr[i]);
}
}
// 函数2:处理函数,找到最小值与第一个数交换,最大值与最后一个数交换
void process_numbers(int* arr, int size) {
int min_index = 0, max_index = size - 1;
int temp;
// 找到最小值和最大值的索引
for (int i = 1; i < size; i++) {
if (arr[i] < arr[min_index]) {
min_index = i;
}
if (arr[i] > arr[max_index]) {
max_index = i;
}
}
// 交换元素
temp = arr[min_index];
arr[min_index] = arr[0];
arr[0] = temp;
temp = arr[max_index];
arr[max_index] = arr[size - 1];
arr[size - 1] = temp;
}
// 函数3:输出6个数
void print_numbers(const int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("数组的第 %d 个数是:%d ", i + 1, arr[i]);
}
printf("\n");
}
int main() {
int numbers[6];
input_numbers(numbers, sizeof(numbers) / sizeof(numbers[0]));
process_numbers(numbers, sizeof(numbers) / sizeof(numbers[0]));
print_numbers(numbers, sizeof(numbers) / sizeof(numbers[0]));
return 0;
}
```
在这个例子中,用户首先输入6个整数,然后`process_numbers`函数找出最小值和最大值,并将它们与数组的第一个和最后一个元素交换。最后,`print_numbers`函数打印出处理后的数组。
阅读全文
相关推荐
















