写一个C语言用指针实现:由键盘输入10个整数,将最大的调到最后,最小的调到最前。
时间: 2024-11-09 09:22:47 浏览: 19
在C语言中,你可以通过遍历数组并使用指针来实现这个功能。这里是一个简单的示例,我们首先声明一个数组,然后获取用户输入,并通过两个指针来跟踪当前的最大值和最小值:
```c
#include <stdio.h>
#define SIZE 10
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[SIZE], max_index = 0, min_index = 0;
// 输入10个整数
for (int i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]);
if (i == 0 || arr[i] > arr[max_index]) { // 如果这是第一个元素或者比当前最大值大
max_index = i;
}
if (i == 0 || arr[i] < arr[min_index]) { // 同理,如果这是第一个元素或者比当前最小值小
min_index = i;
}
}
// 将最大值放到最后,最小值放到最前面
printf("Before sorting: ");
for (int i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
swap(&arr[max_index], &arr[SIZE - 1]); // 交换最大值与最后一个位置
swap(&arr[min_index], &arr[0]); // 交换最小值与第一个位置
printf("\nAfter sorting: ");
for (int i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文