C Language Logo
C语言二级在线二级在线
首页选择题程序题成为会员帮助其他科目

年龄段人数统计

请修改编辑器中的代码,完成以下功能: 该程序生成随机年龄数据,统计各年龄段人数,并输出结果。年龄范围为 0 到 114 岁,分为 11 个年龄段:0—9、10—19、……、90—99岁,以及100岁及以上(输出标签 Over 100 在本题中表示100岁及以上)。程序无需输入。

#include <stdio.h>
#define   N   50
#define   M   11

void fun(int *a, int *b)
{

}

double rnd()
{
    static int t = 29, c = 217, m = 1024, r = 0;
    r = (r * t + c) % m;
    return (double)r / m;
}

void NONO(int d[M])
{
    FILE *wf = fopen("out.txt", "w");
    if (!wf) {
        printf("无法打开 out.txt 文件用于写入!\n");
        return;
    }
    for(int i = 0; i < 10; i++)
        fprintf(wf, "%4d---%4d  :  %4d\n", i*10, i*10+9, d[i]);
    fprintf(wf, "  Over  100  :  %4d\n", d[10]);
    fclose(wf);
}

int main(void)
{
    int age[N], d[M];
    for(int i = 0; i < N; i++)
        age[i] = (int)(115 * rnd());

    printf("The original data:\n");
    for(int i = 0; i < N; i++)
        printf((i+1)%10 == 0 ? "%4d\n" : "%4d", age[i]);

    printf("\n\n");
    fun(age, d);
    for(int i = 0; i < 10; i++)
        printf("%4d---%4d  :  %4d\n", i*10, i*10+9, d[i]);
    printf("  Over  100  :  %4d\n", d[10]);

    NONO(d);
}

控制台

调试终端

准备就绪