要求定义指针访问一维数组,实现将数组中最大元素和最小元素交换后,再输出所有元素。
时间: 2023-04-27 18:03:38 浏览: 194
首先,定义一个指向一维数组的指针,例如:
int *p;
然后,将指针指向要操作的数组,例如:
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
p = arr;
接下来,找到数组中的最大元素和最小元素,并将它们交换,例如:
int max = *p, min = *p;
for (int i = ; i < 10; i++) {
if (*(p+i) > max) {
max = *(p+i);
}
if (*(p+i) < min) {
min = *(p+i);
}
}
for (int i = ; i < 10; i++) {
if (*(p+i) == max) {
*(p+i) = min;
} else if (*(p+i) == min) {
*(p+i) = max;
}
}
最后,输出所有元素,例如:
for (int i = ; i < 10; i++) {
printf("%d ", *(p+i));
}
相关问题
要求定义指针访问一维数组,实现将数组中最大元素和最小元素交换后,再输出所有元素。的源代码
好的,以下是符合您要求的 C++ 源代码:
```cpp
#include <iostream>
using namespace std;
void swap(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int arr[10] = {5, 2, 8, 4, 7, 1, 9, 3, 6, 0};
int *p = arr;
int max = *p;
int min = *p;
for (int i = 0; i < 10; i++) {
if (*(p + i) > max) {
max = *(p + i);
}
if (*(p + i) < min) {
min = *(p + i);
}
}
for (int i = 0; i < 10; i++) {
if (*(p + i) == max) {
swap(p, (p + i));
break;
}
}
for (int i = 0; i < 10; i++) {
if (*(p + i) == min) {
swap(p + 9, (p + i));
break;
}
}
for (int i = 0; i < 10; i++) {
cout << *(p + i) << " ";
}
cout << endl;
return 0;
}
```
在这个程序中,我们首先定义了一个整数数组 `arr`,并将其初始化为 {5, 2, 8, 4, 7, 1, 9, 3, 6, 0}。然后我们定义了一个指针 `p`,并将其指向数组的第一个元素。接着,我们利用指针对数组进行遍历,找到其中的最大值和最小值,并将最大值和最小值所在的元素与数组的第一个元素和最后一个元素交换位置。最后,我们再次遍历数组,输出所有的元素。
注意,这仅仅是一个示例程序,实际上您可以根据自己的需求修改数组的大小和内容,以及使用不同的交换元素的方法。
用C语言编写程序要求定义指针访问一维数组,实现将数组中最大元素和最小元素交换后,再输出所有元素。
好的,这是一个很简单的问题。以下是满足你要求的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` 函数交换它们的值,并且最后通过循环输出了所有的元素。
阅读全文