输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:(1)输入10个数:(2)进行处理;(3)输出10个数。要求使用指针作为参数以传递数据。
时间: 2023-12-04 20:16:58 浏览: 72
输入10个整数,将其中最小的数与第一个数对换
5星 · 资源好评率100%
好的,我理解了你的问题。下面是代码实现:
```c
#include <stdio.h>
void input(int *arr, int n) {
printf("请输入10个整数:\n");
for (int i = 0; i < n; i++) {
scanf("%d", arr+i);
}
}
void process(int *arr, int n) {
int *min = arr;
int *max = arr;
for (int i = 1; i < n; i++) {
if (*(arr+i) < *min) {
min = arr+i;
}
if (*(arr+i) > *max) {
max = arr+i;
}
}
int tmp = *arr;
*arr = *min;
*min = tmp;
tmp = *(arr+n-1);
*(arr+n-1) = *max;
*max = tmp;
}
void output(int *arr, int n) {
printf("处理后的结果为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", *(arr+i));
}
}
int main() {
int arr[10];
input(arr, 10);
process(arr, 10);
output(arr, 10);
return 0;
}
```
解释一下:
- `input` 函数用于输入十个整数,使用指针传递数组 `arr` 和数组长度 `n`。
- `process` 函数用于处理数组,先找出最小和最大的两个数,然后交换第一个数和最小数的位置,交换最后一个数和最大数的位置。同样使用指针传递数组 `arr` 和数组长度 `n`。
- `output` 函数用于输出处理后的数组,同样使用指针传递数组 `arr` 和数组长度 `n`。
- `main` 函数调用三个函数,完成整个程序的功能。
希望这个程序能够帮到你!
阅读全文