前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言经典100例004-统计各个年龄阶段的人数

C语言经典100例004-统计各个年龄阶段的人数

原创
作者头像
Python编程爱好者
修改2020-11-06 17:47:22
8060
修改2020-11-06 17:47:22
举报

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。

喜欢的同学记得点赞、转发、收藏哦~

后续C语言经典100例将会以pdf和代码的形式发放到公众号

欢迎关注:**计算广告生态** 即时查收

1 题目

函数:fun()

功能:统计各个年龄阶段的人数

描述:

N个年龄通过调用随机函数获得,并存放在主函数的age中

要求函数把0-9岁年龄段的放在d0中,把10-19岁年龄段的放在d1中,依次类推。把100岁及以上的放在d10中

结果在主函数中输出

image.png
image.png

2 思路

随机使用 rand() 函数,头文件为#include <stdlib.h>

rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数,使用 rand() 生成随机数之前需要用随机发生器的初始化函数 srand(unsigned seed)(也位于 stdlib.h 中) 进行伪随机数序列初始化,seed 又叫随机种子,通俗讲就是,如果每次提供的 seed 是一样的话,最后每一轮生成的几个随机值也都是一样的,因此叫伪随机数,所以需要每次提供不同的 seed 达到完全的随机,我们通常用时间函数 time(NULL) 作为 seed ,因为时间值每秒都不同,但是在此题中使用不到time这个工具

3 代码

代码语言:txt
复制
#include <stdio.h> 

#include <stdlib.h>

#define M 11

#define N 100



/\*\*

函数:fun()

功能:统计各个年龄阶段的人数

描述:

N个年龄通过调用随机函数获得,并存放在主函数的age中

要求函数把0-9岁年龄段的放在d[0]中,把10-19岁年龄段的放在d[1]中,依次类推。把100岁及以上的放在d[10]中

结果在主函数中输出

\*\*/



void fun(int \*age, int \*d) {

    for (int i = 0; i < N; ++i) {

        if (\*(age+i)<100) {

            d[(\*(age+i))/10] += 1;

        } else {

            d[M-1] += 1;

        }

    }

}



int main(int argc, char const \*argv[]) { 

    int age[N];        // 100个用户

    int d[M]={0};         // 11个年龄段

    for (int i = 0; i < N; ++i) {

        \*(age+i) = rand()%121;    // 设定年龄的范围是0-120

    }

    fun(age, d);

    printf("各年龄阶段人数数量:\n");

    for (int i = 0; i < M; ++i) {

        printf("%d ", d[i]);

    }

    printf("\n");

}

示例结果:

代码语言:txt
复制
$ gcc ex004.c -o demo

$ ./demo

各年龄阶段人数数量:

10 9 8 4 10 8 7 7 6 11 20

-- END --

喜欢本文的同学记得点赞、转发、收藏~

更多内容,欢迎大家关注我们的公众号:**计算广告生态**

后续C语言经典100例将会以pdf和代码的形式发放到公众号

同时也带来更多系列文章以及干货!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 题目
  • 2 思路
  • 3 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档