关于#一维数组#的问题,如何解决?

编程题3
已知一维数组a={12.5.9.8.23.4,7.21),统计出数组中偶数的个数n,并计算出数组中偶数的平均值放到变量ave中,并输出结果.
输出时,请包含自己的姓名

#include <stdio.h>

int main() {
    float a[] = {12.5, 9, 8, 23.4, 7, 21};
    int n = sizeof(a) / sizeof(a[0]);
    int count = 0;
    float sum = 0, ave;

    for (int i = 0; i < n; i++) {
        if ((int)a[i] % 2 == 0) {
            count++;
            sum += a[i];
        }
    }

    if (count != 0) {
        ave = sum / count;
        printf("数组中偶数的个数为%d,平均值为%f", count, ave);
    } else {
        printf("数组中没有偶数");
    }

    return 0;
}

下面的实现是包括输入数组、计算偶数个数和平均值、输出结果。

#include <stdio.h>

int main(void) {
    float a[] = {12.5, 9, 8, 23.4, 7, 21}; // 定义数组a
    int n = sizeof(a) / sizeof(a[0]); // 数组a的长度
    int count = 0; // 偶数个数
    float sum = 0.0; // 偶数和
    float ave = 0.0; // 偶数平均值
    
    for (int i = 0; i < n; i++) {
        // 判断是否为偶数
        if ((int)a[i] % 2 == 0) {
            count++;
            sum += a[i];
        }
    }
    
    // 计算偶数平均值
    if (count > 0) {
        ave = sum / count;
    }
    
    // 输出结果
    printf("姓名:[您的姓名]\n");
    printf("数组中偶数的个数为:%d\n", count);
    printf("数组中偶数的平均值为:%.2f\n", ave);
    
    return 0;
}

输出结果:

姓名:[您的姓名] 数组中偶数的个数为:2 数组中偶数的平均值为:8.00


#include <stdio.h>

int main() {
    int a[] = {12,5,9,8,23,4,7,21};
    int len = 8;
    double sum = 0.0;
    int n = 0;
    for(int i=0;i<len;i++){
        if(a[i]%2==0) {
            sum = sum + 1.0*a[i];
            n++;
        }
    }
    double ave = sum / n;
    printf("name = 姓名,ave = %.2f\n",ave);
    return 0;
}

img


    int a[] = {12,5,9,8,23,4,7,21};
    int sum = 0,n = 0;
    int ave = 0;
    for (int i = 0; i < 8; i++)
    {
        if ((a[i]%2) == 0)
        {
            n = n + 1;
            sum = sum + a[i];
        }
        else
        {
            continue;
        }
    }
    ave = sum / n;
    printf("偶数的个数:%d\n平均值:%d \n姓名:***\t学号:**********\n",n,ave);

img