代码如下所示:
#include <stdio.h> #define N 20 //N的值不能太小,为了确保不溢出,我们可以规定它与n的值相同 int fun(int a[], int n)//数组和指针都可进行传递 { int i, j=0,sum=0,k; for (k=3,i = 0; i < n; i++,k += 5)//变量k在本循环中的作用是实现符合条件的值的求解 //变量i在本循环中的作用则是对n个数的遍历 { sum += k; if (sum % 4 == 2) a[j++] = sum;//将符合条件的数存放在一个数组中 } return j;//作为返回值给d } int main() { int n,a[N], i, d; scanf_s("%d", &n);//累加的项数 d=fun(a,n); for (i = 0; i < d; i++)//对数组元素进行输出 printf("%6d", a[i]); }
输出结果如下所示: