c 语言 用指针方法处理输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换
时间: 2023-12-04 20:53:09 浏览: 181
可以按照以下步骤实现:
1. 定义一个数组,用于存储输入的10个整数。
2. 使用指针遍历数组,找到其中最小的数,并记录其下标。
3. 使用指针遍历数组,找到其中最大的数,并记录其下标。
4. 交换第一个数和最小数的位置,交换最后一个数和最大数的位置。
具体的代码如下所示:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int nums[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
// 找到最小值和最大值的下标
int min_index = 0, max_index = 0;
for (int i = 1; i < 10; i++) {
if (nums[i] < nums[min_index]) {
min_index = i;
}
if (nums[i] > nums[max_index]) {
max_index = i;
}
}
// 交换第一个数和最小数的位置,交换最后一个数和最大数的位置
swap(&nums[0], &nums[min_index]);
swap(&nums[9], &nums[max_index]);
printf("处理后的结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
注意,在交换两个数的位置时,我们使用了一个 `swap` 函数来简化代码。该函数接受两个指针作为参数,然后交换它们所指向的值。
阅读全文