如何用fun函数来统计各个年龄段的人数

用的visual c++2010旗舰版编写程序。要求编写的n个年龄通过调用随机函数获得,并且放在主函数中的age数组中。

【以下回答由 GPT 生成】

首先,我们可以编写一个函数来生成n个随机年龄并存储在一个数组中。然后,我们可以编写另一个函数来统计不同年龄段的人数。

下面是一个用于生成n个随机年龄并存储在数组中的函数的示例代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void generateRandomAges(int n, int* age) {
    srand(time(NULL));  // 初始化随机数生成器
    for (int i = 0; i < n; i++) {
        age[i] = rand() % 100;  // 生成0到99之间的随机数作为年龄
    }
}

上述函数生成的随机年龄将存储在名为age的整型数组中。函数使用了srand函数来初始化随机数生成器,并使用rand函数来生成随机数。

接下来,我们可以编写一个函数来统计各个年龄段的人数。这里我们假设年龄段范围为0到99,每个年龄段的人数存储在一个整型数组中。

下面是一个用于统计各个年龄段人数的函数的示例代码:

void countAgeGroups(int n, int* age, int* count) {
    for (int i = 0; i < n; i++) {
        if (age[i] >= 0 && age[i] < 10) {
            count[0]++;
        } else if (age[i] >= 10 && age[i] < 20) {
            count[1]++;
        } else if (age[i] >= 20 && age[i] < 30) {
            count[2]++;
        } else if (age[i] >= 30 && age[i] < 40) {
            count[3]++;
        } else if (age[i] >= 40 && age[i] < 50) {
            count[4]++;
        } else if (age[i] >= 50 && age[i] < 60) {
            count[5]++;
        } else if (age[i] >= 60 && age[i] < 70) {
            count[6]++;
        } else if (age[i] >= 70 && age[i] < 80) {
            count[7]++;
        } else if (age[i] >= 80 && age[i] < 90) {
            count[8]++;
        } else if (age[i] >= 90 && age[i] < 100) {
            count[9]++;
        }
    }
}

上述函数根据年龄段将人数累加到相应的count数组中。注意,count数组的长度应该为年龄段的数量。

下面是一个函数调用的示例代码:

int main() {
    int n = 100;  // 生成100个随机年龄
    int age[n];
    int count[10] = {0};  // 初始化年龄段人数为0

    generateRandomAges(n, age);
    countAgeGroups(n, age, count);

    // 打印各个年龄段的人数
    for (int i = 0; i < 10; i++) {
        printf("年龄段%d有%d人\n", i, count[i]);
    }

    return 0;
}

上述代码将生成100个随机年龄,并统计各个年龄段的人数,然后打印出来。请根据你的实际需要修改函数调用中的n值和count数组的长度。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void generateRandomArray(int n, int* arr) {
    srand(time(0));  // 使用当前时间作为随机数种子

    for (int i = 0; i < n; i++) {
        arr[i] = rand();
    }
}

int main() {
    int n = 10;
    int arr[n];

    generateRandomArray(n, arr);

    printf("随机生成的数组:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}