C语言练习第四天

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0?tpId=37&tqId=21226&tPage=1&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking

include <stdio.h>

int main(void)
{
int n = 0;
int temp = 0;
int arrayNum[1001] = { 0 };

while (scanf("%d", &n) != EOF)
{
    for (int i = 0;i < n;i++)
    {
        scanf("%d", &arrayNum[i]);
    }
    for (int i = 0;i < n;i++)
    {
        for (int j = i+1;j < n;j++)
        {
            if (arrayNum[i] == arrayNum[j])
            {
                for (int k = j;k < n - 1;k++)
                {
                    arrayNum[k] = arrayNum[k + 1];
                }

                n--;
                j--;
            }
        }
    }

    for (int i = 0;i < n - 1;i++)
    {
        for (int j = 0;j < n - 1 - i;j++)
        {
            if (arrayNum[j] > arrayNum[j + 1])
            {
                temp = arrayNum[j];
                arrayNum[j] = arrayNum[j + 1];
                arrayNum[j + 1] = temp;
            }
        }
    }

    for (int i = 0;i < n;i++)
    {
        printf("%d\n", arrayNum[i]);
    }
}

return 0;

}

接上一次解答明明的随机数
注意两个算法:
1.第一个去重算法
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(arrayNum[i]==arrayNum[j])
{
for(int k=j;k<n-1;k++)
{
arrayNum[k] = arrayNum[k+1];
}
n--;
j--;
}
}
}
2.第二个冒泡排序算法
for (int i = 0;i < n - 1;i++)
{
for (int j = 0;j < n - 1 - i;j++)
{
if (arrayNum[j] > arrayNum[j + 1])
{
temp = arrayNum[j];
arrayNum[j] = arrayNum[j + 1];
arrayNum[j + 1] = arrayNum[j];
}
}
}

全部评论

相关推荐

02-19 22:55
南京大学 后端
给🐭🐭个面试机会吧:先别急,你投了就知道了,华为和字节的hr跟有指标一样到处捞人,你投完就不理你了
点赞 评论 收藏
分享
2024-12-29 19:48
河北科技大学 Java
没事就爱看简历:问题不在于简历:1、大学主修课程学那么多应用语言,作为计算机专业是很难理解的。 2、技能部分,每一个技能点的后半句话,说明对熟练,熟悉的标准有明显误会。 3、项目应该是校企合作的练习吧,这个项目你负责什么,取得了哪些成果都没有提及,只是列举了你认为有技术含量的点,而这些都有成熟的实现。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务