题解 | #明明的随机数#

明明的随机数

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

#include <stdio.h>

int main()
{
    int N = 0;
    scanf("%d", &N);
    if (N < 1 || N > 1000)
    {
        return 0;
    }

    int a1[1000] = {0}, a2[1000] = {0}, i = 0;
    //输入N个
    while (i < N)
    {
        scanf("%d", a1 + i);
        if ( *(a1 + i) > 500 || *(a1 + i) < 1 )
        {
            return 0;
        }
        i++;
    }

    int flag = 0, m = 0, temp = 0;//flag = 1代表有相同的元素,flag == 0代表没有相同的元素

    //去重
    for (int j = 0; j < N; j++)//s
    {
        flag = 0;
        for (int k = 0; k < N; k++)//将数组1中元素和遍历数组二中的元素进行对比
        {
            if (a1[j] == a2[k])//只要有相同的就去检查数组1的下一个元素
            {
                flag = 1;//有相同的
                break;
            }//如果一个相同的都没有,再赋值给数组2
        }

        if (flag == 0)//没有相同元素就赋值
        {
            a2[m++] = a1[j];
        }
    }

    //排序
    for (int j = 0; j < m - 1; j++)
    {
        for (int k = 0; k < m - j - 1; k++)
        {
            if (a2[k] > a2[k + 1])
            {
                temp = a2[k];
                a2[k] = a2[k + 1];
                a2[k + 1] = temp;
            }
        }
    }

    //输出
    for (int j = 0; j < m; j++)
    {
        printf("%d\n", a2[j]);
    }

    return 0;
}

全部评论

相关推荐

03-07 13:32
门头沟学院 C++
未来可欺a:读研吧,这简历只适合学历高的,本科大概率只能干开发,你这个简历开发不匹配,算法和深度学习的话学历又不够
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务