输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。c语言
时间: 2023-12-04 21:56:50 浏览: 70
下面是实现代码:
```
#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 *max = arr, *min = arr;
for (int i = 1; i < 10; i++) {
if (*(arr + i) > *max) {
max = arr + i;
} else if (*(arr + i) < *min) {
min = arr + i;
}
}
// 将最小的数与第一个数对换
int temp = *arr;
*arr = *min;
*min = temp;
// 将最大的数与最后一个数对换
temp = *(arr + 9);
*(arr + 9) = *max;
*max = temp;
}
void output(int *arr) {
printf("处理后的结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", *(arr + i));
}
printf("\n");
}
```
代码中,`input` 函数用于输入 10 个整数,`process` 函数用于进行处理,`output` 函数用于输出处理后的结果。`process` 函数中使用指针来查找最大和最小的数,并进行对换。最后输出处理后的结果。
阅读全文