• 小明的调查作业


    小明的调查作业

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:1
     
    描述
    小明的老师布置了一份调查作业,小明想在学校中请一些同学一起做一项问卷调查,聪明的小明为了实验的客观性,想利用自己的计算机知识帮助自己。他先用计算机生成了N个1到1000之间的随机整数(0<N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
     
    输入
    输入有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
    来源
    [hzyqazasdf]原创
    上传者

    hzyqazasdf

     

    01.#include<stdio.h>
    02.#include<stdlib.h>
    03.int comp(const void *a,const void *b)
    04.{
    05.return*(int*)a-*(int*)b;
    06.}
    07.int main()
    08.{
    09.int i,j,k,N,a[1000];
    10.scanf("%d",&N);
    11.for(i=0;i<N;i++)
    12.{
    13.scanf("%d",&a[i]);
    14.}
    15.for(i=0;i<N;i++)
    16.{
    17.k=a[i];
    18.for(j=i+1;j<N;j++)
    19.{
    20.if(k==a[j])
    21.a[j]=0;
    22.}
    23.}
    24.qsort(a,N,sizeof(int),comp);
    25.k=N;
    26.for(i=0;i<N;i++)
    27.{
    28.if(a[i]==0)
    29.{
    30.k=k-1;
    31.}
    32.}
    33.printf("%d ",k);
    34.for(i=0;i<N;i++)
    35.{
    36.if(a[i]!=0)
    37.{
    38.printf("%d ",a[i]);
    39.}
    40.}
    41.printf(" ");
    42.return 0;
    43.}
  • 相关阅读:
    每周进度条(第九周)
    团队项目最后更改版
    项目需求分析与建议 NABCD模型
    课堂练习找水王
    问题账户需求分析
    2016年秋季个人阅读计划
    学习进度条
    用户体验
    程序员修炼之道——从小工到专家阅读笔记03
    程序员修炼之道——从小工到专家阅读笔记02
  • 原文地址:https://www.cnblogs.com/leishitou/p/5436222.html
Copyright © 2020-2023  润新知