3.用指针的方法处理:输入10个整数,将其中最小的数与第一个数对换,把最大的 数与最后一个数对换。
时间: 2023-12-04 08:19:32 浏览: 212
利用指针将最小数与第一个数调换,最大数与最后一个数对换(C语言练习例程)
5星 · 资源好评率100%
可以使用指针来实现这个功能,具体的实现步骤如下:
1. 定义一个指向整型数组的指针,并用它来接收用户输入的10个整数。
2. 遍历整型数组,找到其中的最小值和最大值,并记录它们的下标。
3. 使用指针交换最小值和第一个数的位置,以及最大值和最后一个数的位置。
以下是具体的代码实现:
```
#include <stdio.h>
int main() {
int arr[10];
int *p = arr;
// 输入10个整数
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p + i);
}
// 找到最小值和最大值的下标
int min_index = 0, max_index = 0;
for (int i = 1; i < 10; i++) {
if (*(p + i) < *(p + min_index)) {
min_index = i;
}
if (*(p + i) > *(p + max_index)) {
max_index = i;
}
}
// 交换最小值和第一个数的位置
int temp = *p;
*p = *(p + min_index);
*(p + min_index) = temp;
// 交换最大值和最后一个数的位置
temp = *(p + 9);
*(p + 9) = *(p + max_index);
*(p + max_index) = temp;
// 输出结果
printf("处理后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", *(p + i));
}
printf("\n");
return 0;
}
```
运行程序,输入10个整数,即可得到处理后的结果。
阅读全文