输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,写出三个函数:1.输入10个·数;2.进行处理3.输出十个数 C语言实现(用指针)
时间: 2023-12-04 15:07:06 浏览: 85
以下是用指针实现的C语言代码:
```
#include <stdio.h>
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;
for (int i = 0; i < 10; i++) {
if (*(arr+i) < *min) {
min = arr+i;
}
if (*(arr+i) > *max) {
max = arr+i;
}
}
int temp = *min;
*min = *arr;
*arr = temp;
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));
}
}
int main() {
int arr[10];
input(arr);
process(arr);
output(arr);
return 0;
}
```
首先通过`input`函数输入数组,然后在`process`函数中找到最小值和最大值并进行交换操作,最后通过`output`函数输出处理后的数组。在这个过程中,我们使用指针来操作数组元素,具体实现方法如下:
- 在函数参数中使用`int *arr`来表示指向整型数组的指针;
- 使用`*(arr+i)`的形式来访问数组的第i个元素;
- 使用指针变量来记录最小值和最大值的位置,通过`*min`和`*max`来访问对应位置的值;
- 使用`*`来解除指针的引用,访问或修改指针指向的值;
- 使用`arr+i`的形式来表示数组中的第i个元素的地址。
阅读全文