数字统计

Posted lytwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字统计相关的知识,希望对你有一定的参考价值。

转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907

Problem2: 

题目描写叙述: 

输入一组数据,统计每一个数出现的次数,并依照数字的大小进行排序输出。 

输入: 

输入20个数字,数字之间用空格隔开。

 输出: 

统计每一个数字出现的次数,并按数字的大小输出数字及其出现的次数.

 例子输入: 

20

9 8 5 1 7 2 8 2 9 10 1 7 8 9 5 6 9 0 1 9 

例子输出:

 0:1

 1:3

 2:2 

5:2

 6:1 

7:2 

8:3 

9:5 

10:1 


提示:类似于词频分析,简化了而已!


/*
 * 描写叙述: 机试题A解答
 * 作者: 张亚超 
 * 博客: 牟尼的专栏 http://blog.csdn.net/u012027907
 * 日期: 2014/8/24
 */
#include <stdio.h>
#include <algorithm>
using namespace std;

#define N 100000

struct Nm{
	int num;   //数字
	int count; //个数

	bool operator < (const Nm &A)const{  //重载小于
		return num < A.num;
	}
}Num[N];

int main(){

	int n;
	int count = 0;

	while(scanf("%d",&n) != EOF){
		if(n == 0)
			break;
		int tmp;
		for(int i = 0; i < n; i++){
			scanf("%d",&tmp);
			for(int j = 0; j < count; j++){
				if(tmp == Num[j].num){   //若等于前面的某个数,则个数加一
					Num[j].count++;
					break;
				}
			}
			if( j >= count){            //若为新的数,则插入新节点
				Num[j].num = tmp;
				Num[j].count = 1;
				count++;
			}
		}

		sort(Num,Num+count);  //按数字排序

		for( i = 0; i < count; i ++)  //输出
			printf("%d:%d\n",Num[i].num,Num[i].count);
		printf("\n");
	}
	return 0;
}
转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907

以上是关于数字统计的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

golang代码片段(摘抄)

JavaScript - 代码片段,Snippets,Gist

JavaScript笔试题(js高级代码片段)

手写数字识别——基于全连接层和MNIST数据集

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段