输入10个整数,将其中的最大值与最后一个数交换,将其中的最小值与第一位交换,用C语言和指针
时间: 2023-11-07 11:10:05 浏览: 117
从键盘输入三个整数求其中最大值和最小值-C语言选择结构程序设计
可以这样写:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[10];
int *p = arr;
int *max = arr, *min = arr;
for (int i = 0; i < 10; i++) {
scanf("%d", p++);
if (*p > *max) {
max = p;
}
if (*p < *min) {
min = p;
}
}
swap(max, p - 1);
swap(min, arr);
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
首先定义一个数组 `arr` 和指向该数组的指针 `p`,然后循环输入 10 个整数,并记录其中的最大值和最小值所在的指针。输入完成后,交换最大值和最后一个数的位置,交换最小值和第一个数的位置。最后循环输出整个数组。其中,交换两个数的位置用到了 `swap` 函数。
阅读全文