详细代码和注释如下,望采纳
#include <iostream>
using namespace std;
// 子函数:删除斐波那契数列(前两项从2,3开始)前20项中个位非7非9的数
void del(int *p, int&n)
{
// 计算斐波那契数列
p[0] = 2;
p[1] = 3;
for (int i = 2; i < 20; i++)
{
p[i] = p[i - 1] + p[i - 2];
}
// 删除个位非7非9的数
int j = 0;
for (int i = 0; i < 20; i++)
{
if (p[i] % 10 != 7 && p[i] % 10 != 9)
{
p[j++] = p[i];
}
}
// 设置删除后的元素个数
n = j;
}
int main()
{
// 定义斐波那契数列数组
int a[20];
// 定义删除后的元素个数
int n;
// 调用子函数删除斐波那契数列中个位非7非9的数
del(a, n);
// 输出删除后的结果
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
cout << endl;
return 0;
}