用指针将输入的10个整数,将其中最小的数与第一个数交换,将最大的数与最后一个数交换。
时间: 2023-11-07 07:57:49 浏览: 168
下面是使用指针实现将输入的10个整数,将其中最小的数与第一个数交换,将最大的数与最后一个数交换的示例代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int nums[10];
// 读入10个整数
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
// 找出最小数和最大数的位置
int minIndex = 0, maxIndex = 0;
for (int i = 1; i < 10; i++) {
if (nums[i] < nums[minIndex]) {
minIndex = i;
}
if (nums[i] > nums[maxIndex]) {
maxIndex = i;
}
}
// 将最小数与第一个数交换
swap(&nums[0], &nums[minIndex]);
// 将最大数与最后一个数交换
swap(&nums[9], &nums[maxIndex]);
// 输出结果
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们定义了一个 `swap` 函数,用于交换两个整数的值。然后在 `main` 函数中,我们先读入10个整数,然后找出其中最小的数和最大的数的位置,最后使用 `swap` 函数将最小数与第一个数交换,将最大数与最后一个数交换,并输出结果。
阅读全文