用C语言编写程序要求定义指针访问一维数组,实现将数组中最大元素和最小元素交换后,再输出所有元素。
时间: 2024-03-25 12:42:10 浏览: 20
好的,这是一个很简单的问题。以下是满足你要求的C语言程序代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[] = {3, 5, 1, 6, 4, 7, 2, 8}; // 定义一个整型数组
int n = sizeof(arr) / sizeof(arr[0]); // 计算数组长度
int *max = arr, *min = arr; // 定义指向最大值和最小值的指针
// 找出最大值和最小值
for (int i = 0; i < n; i++) {
if (*max < arr[i]) {
max = &arr[i];
}
if (*min > arr[i]) {
min = &arr[i];
}
}
// 交换最大值和最小值
swap(max, min);
// 输出所有元素
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序定义了一个整型数组 `arr`,并且通过指针 `max` 和 `min` 找出了数组中最大值和最小值。然后通过 `swap` 函数交换它们的值,并且最后通过循环输出了所有的元素。