C语言100题集合004-统计各个年龄阶段的人数
系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。
喜欢的同学记得点赞、转发、收藏哦~
后续C语言经典100例将会以pdf和代码的形式发放到公众号
欢迎关注:计算广告生态 即时查收
1 题目
函数:fun()
功能:统计各个年龄阶段的人数
描述:
N个年龄通过调用随机函数获得,并存放在主函数的age中
要求函数把0-9岁年龄段的放在d[0]中,把10-19岁年龄段的放在d[1]中,依次类推。把100岁及以上的放在d[10]中
结果在主函数中输出
2 思路
随机使用 rand() 函数,头文件为#include <stdlib.h>
rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数,使用 rand() 生成随机数之前需要用随机发生器的初始化函数 srand(unsigned seed)(也位于 stdlib.h 中) 进行伪随机数序列初始化,seed 又叫随机种子,通俗讲就是,如果每次提供的 seed 是一样的话,最后每一轮生成的几个随机值也都是一样的,因此叫伪随机数,所以需要每次提供不同的 seed 达到完全的随机,我们通常用时间函数 time(NULL) 作为 seed ,因为时间值每秒都不同,但是在此题中使用不到time这个工具
3 代码
#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");
}
示例结果:
$ gcc ex004.c -o demo
$ ./demo
各年龄阶段人数数量:
10 9 8 4 10 8 7 7 6 11 20
-- END --
喜欢本文的同学记得点赞、转发、收藏~
更多内容,欢迎大家关注我们的公众号:计算广告生态
后续C语言经典100例将会以pdf和代码的形式发放到公众号
同时也带来更多系列文章以及干货!
C语言100题集合004-统计各个年龄阶段的人数的更多相关文章
- C语言100题集合-ex003
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
- C语言100题集合005-删除一维数组中所有相同的数,使之只剩一个
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
- 开源图形库 c语言-图形图像库 集合[转]
开源图形库 c语言-图形图像库 集合[转] Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准. ...
- 数据结构+算法面试100题~~~摘自CSDN
数据结构+算法面试100题~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调 ...
- Go面试题精编100题
Golang精编100题 选择题 1. [初级]下面属于关键字的是()A. funcB. defC. structD. class 参考答案:AC 2. [初级]定义一个包内全局字符串变量,下 ...
- Python语言上机题实现方法(持续更新...)
Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...
- C语言实现二叉树-利用二叉树统计单词数目
昨天刚参加了腾讯2015年在线模拟考: 四道大题的第一题就是单词统计程序的设计思想: 为了记住这一天,我打算今天通过代码实现一下: 我将用到的核心数据结构是二叉树: (要是想了解简单二叉树的实现,可以 ...
- 二级C语言真题笔记
二级C语言真题笔记 1. 知识重点:数据类型.循环.数组.函数.指针.结构体与共同体 2. 求程序的运行结果 #include <stdio.h> main() { short i ...
- LeetCode面试常见100题( TOP 100 Liked Questions)
LeetCode面试常见100题( TOP 100 Liked Questions) 置顶 2018年07月16日 11:25:22 lanyu_01 阅读数 9704更多 分类专栏: 面试编程题真题 ...
随机推荐
- Azure Cosmos DB (一) 入门介绍
一,引言 今天是国庆.中秋双节房价的第三天,今天抽时间分享一篇关于使用Azure 提供的一项NoSql 服务-----Azure Cosmos DB.就有人问了,我听说过 MongoDB.Redis ...
- 使用Maven那么久了,你对企业级Maven的核心配置了解多少?
写在前面 相信从事Java工作的小伙伴们多多少少都会接触到Maven.使用Maven来搭建项目,能够极大的方便我们构建项目的依赖关系,对于项目中需要依赖的Jar包,也只是简单的在pom.xml中进行配 ...
- Word rings
Word rings 题目描述 这道题就是想求出所有的环,然后在所有环中比较出环串的平均长度最长的那一个,然后就输出平均长度最长的,如果在一个点当中的样例中没有环的话我们就应该输出"No S ...
- python数据结构之图深度优先和广度优先实例详解
本文实例讲述了python数据结构之图深度优先和广度优先用法.分享给大家供大家参考.具体如下: 首先有一个概念:回溯 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标.但当探索到 ...
- xor 和 or 有什么区别
参考:https://zhidao.baidu.com/question/67532331.html 1.定义区别: ①OR是或运算,A OR B的结果:当A.B中只要有一个或者两个都为1时,结果为1 ...
- 【题解】小M的作物
题目戳我 \(\text{Solution:}\) 这题要求最大收获,可以转化为所有可能的收益减去最小割. 单个点很好连边 \((S\to pos\to T),\) 问题在于如何处理组合的点. 观察到 ...
- str常用操作方法
1. 索引(即下标) s = 'ABCDEFGHIJKLMN' s1 = s[0] print('s[0] = ' + s1) #s[0] = A print('s[3] = '+ s[3]) #s[ ...
- MeteoInfoLab脚本示例:多坐标系
绘图的时候首先要有坐标系(Axes),可以用axes命令创建,如果没有创建在绘图时会自动创建一个.参数里的position是用来置顶坐标系的图形(figure)中的位置的,通过位置置顶,可以将多个坐标 ...
- pyquery 匹配NavigableString
pyquery 匹配NavigableString不像xpath那样精确找打匹配对象,只需匹配包含NavigableString的根节点
- python BeautifulSoup的使用方法
BeautifulSoup的使用 我们学习了正则表达式的相关用法,但是一旦正则写的有问题,可能得到的就不是我们想要的结果了,而且对于一个网页来说,都有一定的特殊的结构和层级关系,而且很多标签都有id或 ...