【问题描述】编写函数求数组中第一次出现的负数及其下标,函数通过指针变量做参数返回满足条件的数组元素值及其下标,如果数组中不存在负数,均返回-1。函数头部已经给出,请将函数体补充完整。 【输入形式】输入8个数,用空格分开 【输出形式】输出满足条件的元素值和下标 【样例输入】9 -8 75 8 34 2 12 6 【样例输出】-8,1
时间: 2024-03-17 17:46:54 浏览: 46
下面是一个示例代码,用于实现这个功能:
```c++
#include <iostream>
using namespace std;
void find_first_negative(int arr[], int n, int* pvalue, int* pindex) {
for (int i = 0; i < n; i++) {
if (arr[i] < 0) {
*pvalue = arr[i];
*pindex = i;
return;
}
}
*pvalue = -1;
*pindex = -1;
}
int main() {
int arr[8];
for (int i = 0; i < 8; i++) {
cin >> arr[i];
}
int value, index;
find_first_negative(arr, 8, &value, &index);
if (index == -1) {
cout << "不存在负数!" << endl;
} else {
cout << value << "," << index << endl;
}
return 0;
}
```
该程序接受一个整数数组以及数组的大小作为输入,并通过指针变量返回数组中第一个负数的值和下标。如果数组中不存在负数,则返回值和下标均为-1。程序定义了一个find_first_negative函数,该函数遍历整个数组,找到第一个负数,并将其值和下标通过指针参数返回。然后在主函数中调用此函数,并输出找到的负数及其下标。注意指针变量的使用方式。