美文网首页
明明的随机数

明明的随机数

作者: 笔墨流年乱浮生 | 来源:发表于2018-09-18 01:27 被阅读0次

    C:

    #include <stdio.h>
    /*#include <stdlib.h>
    int cmp(const void *a,const void *b);
    int main()
    {
        int n = 0;
        scanf("%d", &n);
        int c[n];
        for(int i = 0; i < n; i++)
        {
            scanf("%d",&c[i]);
        }
        for(int i = 0;i < n; i++)
        {
            for(int j = 0; j < n; j++)
            {
                if( c[i] == c[j] && i != j)    c[i] = 0;
            }
        }
            qsort(c,n,sizeof(int),cmp);
            for(int i = 0; i < n; i++)
        {
            if(c[i] != 0)
            {
                printf("%d\n",c[i]);
            }
        }
        return 0;
    }
    int cmp(const void *a,const void *b)
    {
        return (*(int*)a - *(int*)b);
    }
    */
    int main()
    {
        int n ;
        int a[501];
        int temp;
        while(scanf("%d",&n) != EOF)
        {
        for(int i = 0;i < 501;i++)    a[i]=0;
        for(int i = 0; i < n; i++)
        {
            scanf("%d",&temp);
            a[temp] = 1;
        }
        for(int i = 0;i < 501;i++)
        {
            if(a[i] == 1)
            printf("%d\n",i);
        }
        }
        return 0;
    }
    

    只想说这道题是真的恶心,测试用例不止一组,开始思路被题目误导了,先去重,再排序,弄来弄去都不太对,参考了牛客上别人的思路,把输进来的数作为下标,把相应数组值 = 1,初始时全部为0,最后输出值为1的数组下标即可。数组初始化必须在while里执行。一共做了90分钟,且参考了别人的思路和代码。

    python:

    while True:
        try:
            a, res = int(input()), set()
            for i in range(a):
                res.add(int(input()))
    
            for i in sorted(res):print(i)
        except:
            break
    

    相关文章

      网友评论

          本文标题:明明的随机数

          本文链接:https://www.haomeiwen.com/subject/fqhsnftx.html