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

    题目描述

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了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 }
  • 相关阅读:
    Leetcode Reverse Words in a String
    topcoder SRM 619 DIV2 GoodCompanyDivTwo
    topcoder SRM 618 DIV2 MovingRooksDiv2
    topcoder SRM 618 DIV2 WritingWords
    topcoder SRM 618 DIV2 LongWordsDiv2
    Zepto Code Rush 2014 A. Feed with Candy
    Zepto Code Rush 2014 B
    Codeforces Round #245 (Div. 2) B
    Codeforces Round #245 (Div. 2) A
    Codeforces Round #247 (Div. 2) B
  • 原文地址:https://www.cnblogs.com/a1225234/p/4465662.html
Copyright © 2011-2022 走看看