题解 | #明明的随机数#

明明的随机数

http://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

解题思路

首先读取随机数数量并保存到变量N 然后通过malloc申请一个动态内存空间保存读入的变量 之后将输入的随机整数保存在该动态内存空间之中 自定义一个函数处理重复的数据并且输出结果 调用该函数 return 0 结束main函数

自定义函数处理重复数据并且保存结果

首先新建一个大小为1001的数组q并且初始化为0 (1001是因为数组下标是从0开始的,但是随机数的范围是1-1000) 用数组q的下标表示输入的随机数,下标对应的元素表示该随机数的个数 将数组q中大于1的元素统一写为1 最后将数组中为1的元素的下标输出 这样同时实现了去重复和排序。

#include<stdio.h>
#include<stdlib.h>
#define LEN 1000
void find_same(int* p, int N)
{
    int q[LEN]={0};
    for(int i=0;i<N;i++)
    {
        int j = p[i];
        q[j]++;
    }
    for(int j=0; j<LEN;j++)
    {
        if(q[j]>1)
            q[j]=1;
        if(q[j]==1)
        {
            printf("%d",j);
        }
    }
}

int main(void)
{
    int N;
    scanf("%d",&N);
    int* p = (int*)malloc(sizeof(int)*N);
    for (int i=0;i<N;i++)
    {
        scanf("%d",&p[i]);
    }
    find_same(p, N);
    return 0;
}

代码效果

alt

全部评论

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务