用c语言写程序,输入8个整数,将其中最大的数与第一个数对换,最小的数与最后一个数对换。用指针实现。
时间: 2023-12-04 22:16:15 浏览: 74
c语言利用指针求数组的最大值与最小值
好的,这是一个比较基础的 C 语言编程问题。下面是实现代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[8];
printf("请输入8个整数:\n");
for(int i = 0; i < 8; i++) {
scanf("%d", &arr[i]);
}
// 找出最大值和最小值的下标
int max_index = 0, min_index = 0;
for(int i = 1; i < 8; i++) {
if(arr[i] > arr[max_index]) {
max_index = i;
}
if(arr[i] < arr[min_index]) {
min_index = i;
}
}
// 交换最大值和第一个数
swap(&arr[0], &arr[max_index]);
// 交换最小值和最后一个数
swap(&arr[7], &arr[min_index]);
// 输出结果
printf("交换后的数组为:\n");
for(int i = 0; i < 8; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序首先用一个循环读入 8 个整数,然后再用一个循环找出最大值和最小值的下标。接着用一个 `swap` 函数来实现两个数的交换。最后交换最大值和第一个数,以及最小值和最后一个数,最后输出交换后的数组即可。
注意,这里的 `swap` 函数中的参数是指针,这样才能真正地修改传入的参数。
阅读全文