• 明明的随机数


    题目描述

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

    输入格式

    输入有2行,第1行为1个正整数,表示所生成的随机数的个数:

    N

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

    输出格式

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

    样例输入

    10
    20 40 32 67 40 20 89 300 400 15

    样例输出

    8
    15 20 32 40 67 89 300 400

     1 #include<stdio.h>
     2 #include<algorithm>
     3 using namespace std;
     4 int main()
     5 {
     6     int a[1000],n,i;
     7     while(scanf("%d",&n)==1)
     8     {
     9         for(i=0;i<n;i++)
    10             scanf("%d",&a[i]);
    11         sort(a,a+n);/*实参为数组的首地址和尾地址*/
    12 int count=unique(a,a+n)-a;/*两个参数为待处理数组的首地址和尾地址, unique的功能是去除相邻的重复元素(只保留一个),并把相邻重复元素删除,保留一个,其余放置数组末尾,unique返回处理后第一个重复元素的地址*/ 13 printf("%d ",count); 14 for(i=0;i<count;i++) 15 printf("%d ",a[i]); 16 } 17 }
  • 相关阅读:
    浅谈Cauchy不等式
    终于结束的起点——CSP-S 2019 第二轮游记
    LOJ 10172 涂抹果酱
    数字表格
    CSP-S 2019 第一轮 游记
    20191011模拟赛
    Luogu 2327 扫雷
    NOIAC 30 candy
    FormData文件上传
    sde表空间无法导入数据和编辑
  • 原文地址:https://www.cnblogs.com/a1225234/p/4465662.html
Copyright © 2020-2023  润新知