在C语言中运用指针输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。
时间: 2024-12-23 21:22:25 浏览: 2
在C语言中,我们可以使用指针来操作数组并完成题目描述的任务。这里是一个简单的示例,分为三个函数实现:
1. **输入10个数** (input_numbers.c)
```c
#include <stdio.h>
void input_numbers(int* arr, int size) {
for(int i = 0; i < size; ++i) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &arr[i]);
}
}
```
2. **进行处理** (process_numbers.c)
```c
void swap_min_max(int* arr, int size) {
if(size >= 2) { // 至少有两个元素才能比较
int min_idx = 0;
int max_idx = size - 1;
// 找到最小值和最大值的索引
for(int i = 1; i < size; ++i) {
if(arr[min_idx] > arr[i]) {
min_idx = i;
}
if(arr[max_idx] < arr[i]) {
max_idx = i;
}
}
// 对应位置交换
int temp = arr[min_idx];
arr[min_idx] = arr[0];
arr[0] = temp;
temp = arr[max_idx];
arr[max_idx] = arr[size - 1];
arr[size - 1] = temp;
}
}
```
3. **输出10个数** (output_numbers.c)
```c
#include <stdio.h>
void print_numbers(const int* arr, int size) {
for(int i = 0; i < size; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int numbers[10];
input_numbers(numbers, 10);
swap_min_max(numbers, 10);
print_numbers(numbers, 10);
return 0;
}
```
阅读全文