首页 > 其他分享 >统计数字

统计数字

时间:2022-12-21 16:48:36浏览次数:33  
标签:输出 10000 int max 自然数 100 统计数字

题目描述

小南跟着导师进行科研调查,得到了n个自然数(1≤n≤200000),每个数均不超过1500000000(1.5*109),即long型。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。你能帮他编程实现吗? 


输入

单样例。每个测试文件只包含一组测试数据:
第一行是整数n,表示自然数的个数;
第2~n+1行,每行一个自然数。


 


输出

输出包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。


样例输入 Copy

8
2
4
2
4
5
100
2
100

样例输出 Copy

2 3
4 2
5 1
100 2
 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int max,max1,j=0,x=0,t,i,n,b[10000]={0};
 6     long int a[10000]={0},k;
 7     scanf("%d",&n);
 8     for(i=0;i<n;i++) 
 9     {
10         scanf("%ld",&k);
11         for(t=0;t<x;t++)
12         {
13             if(k==a[t])
14             {
15                 b[t]++;
16                 j=1;
17                 break;
18             }
19         }
20         if(j==0)
21         {
22             a[x]=k;
23             b[x]++;
24             x++;
25         }
26         j=0;
27     }
28     for(i=0;i<x-1;i++)
29     {
30         for(t=0;t<x-1;t++)
31         {
32             if(a[t]>a[t+1])
33             {
34                 max=a[t];
35                 a[t]=a[t+1];
36                 a[t+1]=max;
37                 max1=b[t];
38                 b[t]=b[t+1];
39                 b[t+1]=max1;
40             }
41         }
42     }
43     for(i=0;i<x;i++)
44     {
45         printf("%d %d\n",a[i],b[i]);
46     }
47     return 0;
48 } 
49 
50 
51     

 

 

标签:输出,10000,int,max,自然数,100,统计数字
From: https://www.cnblogs.com/messing1758954258/p/16996547.html

相关文章

  • 统计数字
    描述输入一个数n(n<=200000)和n个自然数(每个数都不超过1.5*10^9),请统计出这些自然数各自出现的次数,按顺序从小到大输出。输入数据保证不相同的数不超过10000个。 输入......
  • 统计数字、字母和其他字符的个数
    输入一个字符串,分别统计出其中字母、数字和其他字符的个数number="0123456789"letter="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"str=input("请输入字符串:")l......