c++输入10个整数存储到数组中,利用指针计算并输出数组首地址最大数地址和最小数地址。
时间: 2023-07-27 21:14:40 浏览: 111
好的,我来为您解答。
首先,我们需要定义一个包含10个元素的数组,并从控制台输入10个整数:
```c++
int arr[10];
for (int i = 0; i < 10; i++) {
cin >> arr[i];
}
```
接下来,我们需要定义指向数组首地址的指针`p`,并将其指向数组第一个元素:
```c++
int *p = arr;
```
然后,我们可以使用一个循环遍历整个数组,找到最大值和最小值的地址:
```c++
int *max_addr = p;
int *min_addr = p;
for (int i = 1; i < 10; i++) {
if (arr[i] > *max_addr) {
max_addr = p + i;
}
if (arr[i] < *min_addr) {
min_addr = p + i;
}
}
```
最后,我们输出最大值和最小值的地址:
```c++
cout << "最大值地址:" << max_addr << endl;
cout << "最小值地址:" << min_addr << endl;
```
完整代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
cin >> arr[i];
}
int *p = arr;
int *max_addr = p;
int *min_addr = p;
for (int i = 1; i < 10; i++) {
if (arr[i] > *max_addr) {
max_addr = p + i;
}
if (arr[i] < *min_addr) {
min_addr = p + i;
}
}
cout << "最大值地址:" << max_addr << endl;
cout << "最小值地址:" << min_addr << endl;
return 0;
}
```
阅读全文