通过c语言,用指针的方法处理;输入10个整数,将其中的最小数与第一个数对换,把最大的数与最后一个数对换;
时间: 2023-12-04 11:16:59 浏览: 51
好的,可以使用指针操作数组元素完成此任务。以下是一个示例程序:
```c
#include <stdio.h>
int main() {
int nums[10];
int *p, *min, *max, temp;
printf("请输入10个整数:\n");
for (p = nums; p < nums + 10; p++) {
scanf("%d", p); // 使用指针输入数组元素
}
min = max = nums; // 初始化最小值和最大值指针
for (p = nums + 1; p < nums + 10; p++) {
if (*p < *min) {
min = p; // 找到最小值的指针
}
if (*p > *max) {
max = p; // 找到最大值的指针
}
}
// 交换最小值和第一个数
temp = *nums;
*nums = *min;
*min = temp;
// 交换最大值和最后一个数
temp = *max;
*max = *(nums + 9);
*(nums + 9) = temp;
// 输出结果
printf("交换后的数组为:\n");
for (p = nums; p < nums + 10; p++) {
printf("%d ", *p);
}
printf("\n");
return 0;
}
```
程序中使用指针 `p` 遍历数组元素,并使用指针 `min` 和 `max` 找到最小值和最大值的指针。然后通过指针操作交换数组元素,最后输出结果。需要注意指针的初始化和越界的情况。