二级C语言 程序设计题

按题目要求编写完整功能代码,参考答案点击按钮展开

73程序设计题:将数组中偶数存入另一数组并返回个数

编写函数 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++(不能先 ++ 再赋值)。

← 上一题 下一题 →