年龄段人数统计
请修改编辑器中的代码,完成以下功能: 该程序生成随机年龄数据,统计各年龄段人数,并输出结果。年龄范围为 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);
}
控制台
调试终端
