zoukankan      html  css  js  c++  java
  • 明明的随机数

    描述

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

    输入

    第1行为1个正整数,表示所生成的随机数的个数:N
    第2行有N个用空格隔开的正整数,为所产生的随机数。

    输出

    输出也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个
    用空格隔开的正整数,为从小到大排好序的不相同的随机数。

    输入样例 1 

    10
    20 40 32 67 40 20 89 300 400 15
    

    输出样例 1

    8
    15 20 32 40 67 89 300 400

    这道题我最开始就考虑用了桶排,输出时所有只输出一次,一次性完成排序和去重。
    代码:
     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     int n,s=0;
     6     cin>>n;
     7     int x,b[1005]={0};
     8     for(int i=1;i<=n;i++)
     9     {
    10         cin>>x;
    11         b[x]++;
    12     }
    13     for(int i=1;i<=1000;i++)
    14     {
    15         if(b[i]!=0) s+=b[i]-1;
    16     }
    17     cout<<n-s<<endl;
    18     for(int i=1;i<=1000;i++)
    19     {
    20         if(b[i]!=0) cout<<i<<" ";
    21     }
    22     return 0;
    23 }
     
  • 相关阅读:
    Git教程
    test
    Android中的权限机制
    Android中<uses-library>的理解
    权限机制
    总是听到有人说AndroidX,到底什么是AndroidX?Android和AndroidX的区别
    VMware Tools按钮变灰色,无法安装的解决方法
    VMware Tools (ubuntu系统)安装详细过程与使用
    Android studio常用快捷键
    CVE漏洞分析
  • 原文地址:https://www.cnblogs.com/cyk20081108/p/14044428.html
Copyright © 2011-2022 走看看