按题目要求编写完整功能代码,参考答案点击按钮展开
编写函数 fun,将 a 数组中的偶数按原顺序存入 b 数组,返回偶数个数。例如 a={1,2,3,4,5,6,8,9},则 b={2,4,6,8},返回 4。
#include <stdio.h>
/* 函数功能:将 a 数组(n 个元素)中的偶数按原顺序存入 b 数组,
返回偶数个数。请在下方编写 fun 函数体。 */
int fun(int a[], int n, int b[])
{
/* 请在这里编写代码 */
}
int main()
{
int a[] = {1,2,3,4,5,6,8,9};
int b[10], i, cnt;
cnt = fun(a, 8, b);
printf("偶数个数: %d\n", cnt);
printf("偶数为: ");
for(i=0; i<cnt; i++) printf("%d ", b[i]);
printf("\n");
return 0;
}
int fun(int a[], int n, int b[])
{
int i, k = 0;
for(i=0; i<n; i++)
{
if(a[i] % 2 == 0)
{
b[k] = a[i];
k++;
}
}
return k;
}
考点:数组遍历 + 条件筛选。用 k 记录 b 数组当前存放位置,遍历 a 时遇到偶数就 b[k]=a[i] 并 k++,最后返回 k。注意 k 初值必须为 0,且 b[k] 赋值后再 k++(不能先 ++ 再赋值)。