当前课程知识点:程序设计基础 > 第七章 文本数据处理 > 7.2 统计活跃用户数 > 7.2.1 问题分析
知道了这个文件当中涉及到了多少条记录
那接下来我想知道这是很多的登入登出的记录
我想知道这些记录到底涉及了多少同学
也就是说 我们这段时间内
有多少同学有这个登入登出的操作
那也许就是我们熟悉的一个概念了
就是多少同学是属于活跃用户
那实际上呢 也就是说我要数一下
这样的一个记录当中有多少个不重复的同学的编号
看我这样一个问题的描述是不是有点熟悉
回忆一下我们第四章的时候有一道作业题
就是让你输入20个整数
然后输出其中出现了多少个不相同的数
求一个数组当中有多少个不重复的数
返回一个 输出一个这样一个值
那同学们可以翻一下以前的视频
回忆一下数组的相关操作
然后回忆一下当时作业是怎么做的
那我这里呢就给出一个其中的一种解法
一种解法呢就是首先你要把这20个数放入到数组当中
作为一个输入 放入一个数组当中
然后呢 枚举这20个数 然后呢
用线性查找去找每一个数之前有没有相同的数
如果找到了 说明这是一个重复的数
就不用给它计数了 那如果没找到
那我们就把这个计数加1
那这样呢 我们20个数都枚举完的时候
这个计数值就是我们这个不同的数的个数
对于我们现在这样一个问题
其实呢 应该可以用类似的一个思路来解决
只不过呢 我们原来这20个整数
换成了咱们4386个用户的编号
所以呢 用类似这样一个思路
首先我们要从文件当中读取这4386个用户编号
放到一个很大的一个数组当中
然后这里就有一个问题了
用户编号在这里要怎么表示呀
那我们刚才看到用户的编号是一个很长的一个串
那应该是一个字符的数组 所以呢 我们就需要
一旦我们需要一个用户编号的数组
那就是一个字符的数组的数组
所以应该是一个二维的字符数组
其实呢 由于字符数组有一些特殊的性质
所以下一段呢 我们首先来整理一下
咱们之前其实在用到的一些关于字符数组的一些性质
-1.1 基础知识
-1.2 买菜问题
-1.3 数学运算
-1.4 补充说明
-1.5 总结
--1.5 总结
-程设论道
--程设论道
-师生问答
-第一章 编程初步--语法自测
-2.1 关于超级计算器的几点思考
-2.2 电子秤模拟 — 背景介绍及需求分析
-2.3 电子秤模拟 — 代码实现
-2.4 变量定义与变量类型
-2.5 猜数游戏与数据表示
-2.6 关于变量的讨论
--公告
-2.7 变量体现的计算思维
-程设论道
--程设论道
-师生问答
--师生问答
-第二章 变量与代数思维--语法自测
-3.1 谁做的好事——语义表示
-3.2 谁做的好事——真假检查
-3.3 谁做的好事——循环枚举
-3.4 谁是嫌疑犯——多重循环枚举
-3.5 谁是嫌疑犯——破案线索表示
-3.6 谁是嫌疑犯——用二进制枚举
-程设论道
--程设论道一
--程设论道二
--程设论道三
-师生问答
-第三章 逻辑推理与枚举解题--语法自测
-4.1 插花游戏
-4.2 筛法
-4.3 线性查找
-4.4 折半查找
--4.4.1 提问
-4.5 排序问题
-4.6 总结
--4.6.1 总结
-程设论道
--程设论道二:筛法
-师生问答
-第四章 筛法与查找--语法自测
-5.1 阶乘
-5.2 排序
-5.3 矩阵填充
-5.4 分书与八皇后
-5.5 青蛙过河
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答一
--师生问答二
-第五章 分治思想与递归--语法自测
-6.1 兔子数列问题
-6.2 分鱼问题
-6.3 橱窗的插花问题
-6.4 最长公共子序列问题
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答
-第六章 递推与动态规划--语法自测
-7.1 统计记录总数
-7.2 统计活跃用户数
-7.3 统计在线时长
--7.3.2 结构
-7.4 总结
--7.4.1 总结
-程设论道
--程设论道
-师生问答
--师生问答
-第七章 文本数据处理--语法自测
-8.1 将数据组织成链表
-8.2 提高链表访问效率 —— 哈希链表
-8.3 以二进制文件存储链表
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答
-第八章 非文本数据处理--语法自测
-9.1 自动售卖程序
-9.2 配制水果信息
-9.3 指定界面语言
-程设论道
--程设论道
-师生问答
--师生问答
-第九章 可配置的程序设计--语法自测