C语言:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。(用指针)
时间: 2025-02-02 20:12:37 浏览: 35
好的,我来为您编写一个C语言程序,实现输入10个整数并进行相应处理的功能。这个程序将使用指针,并包含三个函数:输入、处理和输出。
```c
#include <stdio.h>
// 函数声明
void input(int *arr);
void process(int *arr);
void output(int *arr);
int main() {
int arr[10];
input(arr);
process(arr);
output(arr);
return 0;
}
// 输入函数
void input(int *arr) {
printf("请输入10个整数:\n");
for(int i = 0; i < 10; i++) {
scanf("%d", arr + i);
}
}
// 处理函数
void process(int *arr) {
int *min = arr, *max = arr, temp;
for(int i = 1; i < 10; i++) {
if(*(arr + i) < *min) min = (arr + i);
if(*(arr + i) > *max) max = (arr + i);
}
// 交换最小值与第一个元素
if(min != arr) {
temp = *min;
*min = *arr;
*arr = temp;
}
// 交换最大值与最后一个元素
if(max != (arr + 9)) {
temp = *max;
*max = *(arr + 9);
*(arr + 9) = temp;
}
}
// 输出函数
void output(int *arr) {
printf("处理后的结果:\n");
for(int i = 0; i < 10; i++) {
printf("%d ", *(arr + i));
}
printf("\n");
}
```
这个程序的工作流程如下:
1. 主函数中,我们声明了一个包含10个整数的数组`arr`。
2. 我们调用`input`函数来输入10个整数。该函数使用指针算术来访问数组元素。
3. 然后,我们调用`process`函数来处理数组。这个函数首先找到最小值和最大值的指针,然后进行相应的交换操作。
4. 最后,我们调用`output`函数来输出处理后的结果。
5. `process`函数中,我们使用指针比较来找到最小值和最大值的地址。
6. 在交换最小值和第一个元素时,我们首先检查最小值是否已经是第一个元素,以避免不必要的交换。
7. 同样的,我们检查最大值是否已经是最后一个元素。
8. 在`output`函数中,我们再次使用指针算术来访问数组元素。
这个程序满足了题目的所有要求,使用了指针,并包含了输入、处理和输出三个函数。
阅读全文
相关推荐



















