概述
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
提示:类似于词频分析,简化了而已!
#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;
int j;
int i;
for( i = 0; i < n; i++){
scanf("%d",&tmp);
for( 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:%dn",Num[i].num,Num[i].count);
printf("n");
}
return 0;
}
转载来自:
牟尼的专栏
http://blog.csdn.net/u012027907
最后
以上就是魁梧大神为你收集整理的c++语言统计数字个数的全部内容,希望文章能够帮你解决c++语言统计数字个数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复