统计数字

maruiliangmrl 2011-07-04 09:05:47
【问题描述】
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
【基本要求】
原始数据保存在文件count.in中,文件包含n+1行。第1行是整数n,表示自然数的个数;第2~n+1行每行一个自然数。
结果保存在文件count.out中,文件count.out包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
【测试数据
由于数据量可能很大,要注意程序的运行效率。
【实现提示】
1) 自己建立输入文件count.in。使用TC或VC或Word等编辑器等编辑样例输入内容,按文本格式存盘。程序从该文件中读取数据处理,最后将结果写入文件count.out中。
2)定义结构体类型,说明结构体数组,记录自然数和该数出现的次数。定义如下:
struct
{
long int number;
long int count;
} num[10000];
3)从文件中每读出一个数据,就在数组中查找,若存在,则该数出现次数增1,否则将该数插入数组中,出现次数为1,插入后使数组中的数据按自然数有序。
...全文
267 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
水刃木栋 2011-08-13
  • 打赏
  • 举报
回复
这个思想很巧妙,使数组开的最小。

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧