求解一道c++编程题
(1)定义函数int search(int*p1,int n,int *p2),将指针p1所指向的长度为n的一维数组中值为奇数的元素取出来存入指针p2所指向的一维数组中,并返回奇数元素的个数。
(2)定义一维数组输出的函数,其函数原型说明如下:
void print(int *p ,int n); // 输出一维数组
(3)在主函数中定义两个一维数组,并初始化其中的一个一维数组,通过调用上述函数实现程序功能,并分别输出这两个一维数组中元素的值。 展开
#include <iostream>
using namespace std;
int search(int* p1, int n, int* p2);
void print(int* p, int n);
int main()
{
int arr1[10] = {1,2,3,4,5,6,7,8,9,10};
int arr2[] = { 0 };
int count = search(arr1, 10, arr2);
print(arr1, 10);
print(arr2, count);
system("pause");
}
int search(int* p1, int n, int* p2)
{
int result = 0;
for (int i = 0; i < n; i++)
{
if (p1[i] % 2 != 0)
{
p2[result] = p1[i];
result++;
}
}
return result;
}
void print(int* p, int n)
{
for (int i = 0; i < n; i++)
{
cout << p[i];
}
cout << endl;
}
#include "stdafx.h"
#include <iostream>
using namespace std;
int search(int*p1, int n, int *p2);
void print(int *p, int n);
int main()
{
int a[5] = { 2,9,8,5,4 };
int b[5] = { 0 };
int n=search(a, 5, b);
print(b, n);
system("pause");
return 0;
}
int search(int *p1, int n, int *p2)
{
int i, j;
for (i = 0,j = 0; i < n; i++)
if (p1[i] % 2)
{
p2[j] = p1[i];
j++;
}
return j;
}
void print(int *p, int n)
{
for (int i = 0; i < n; i++)
cout << p[i] << " ";
cout << endl;
}