C/C++编程题之明明的随机数

简介: C/C++编程题之明明的随机数

将之前一段时间在牛客上刷的题给大家分享一下。其中一道题是“明明的随机数”,现在将通过的代码贴一下,供大家参考。


明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。



注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。


当没有新的输入时,说明输入结束。


#include <stdlib.h>
#include <stdio.h>
int filter(int *array,int count)
{
    int i,j;
    int *p=array;
    for(i=0;i<count;i++)
    {
        for(j=i+1;j<count;j++)
        {
            if(*(p+i)==*(p+j))
            {
                *(p+j)=0;
            }
        }
    }
    int k=0;
    for(i=0;i<count;i++)
    {
        if(*(p+i)!=0)
        {
            *(p+k)=*(p+i);
            k++;
        }
    }
    return k;
}
void sort(int *array,int count)
{
    int i,j,temp;
    int *p = array;
    for(i=0;i<count;i++)
    {
        for(j=i+1;j<count;j++)
        {
            if(*(p+i)>*(p+j))
            {
                temp = *(p+i);
                *(p+i)=*(p+j);
                *(p+j)=temp;
            }
        }
    }
}
int main()
{
    int m,n;
    int q;
    int *array;
    int i; 
    int k;
    int j;
    while(scanf("%d",&m)!=EOF)
    {
        array = (int *)malloc(sizeof(int)*m);
        for(i=0;i<m;i++)
        {
            scanf("%d",&n);
            array[i] = n;
            //printf("n=%d\n",n);
        }
        k = filter(array,m);
        //printf("k=%d\n",k);
        sort(array,k);
        for(j=0;j<k;j++)
        {
            printf("%d\n",array[j]);
        }
        free(array);      
    }
}
相关文章
|
22天前
|
IDE Java 开发工具
【C/C++】C/C++编程——C++ 开发环境搭建
【C/C++】C/C++编程——C++ 开发环境搭建
26 0
|
27天前
|
存储 算法 搜索推荐
【编码狂想】探索C++ STL:提升编程效率的强大工具集
【编码狂想】探索C++ STL:提升编程效率的强大工具集
13 0
|
1月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
30 0
|
1月前
|
算法 Linux Shell
Linux C/C++ 开发(学习笔记三):Linux C编程案例
Linux C/C++ 开发(学习笔记三):Linux C编程案例
21 0
|
27天前
|
机器学习/深度学习 算法 C语言
【编码狂想】深度探索C++编程之旅:“数组、字符串、函数与KMP算法解密“
【编码狂想】深度探索C++编程之旅:“数组、字符串、函数与KMP算法解密“
64 0
|
2天前
|
存储 编译器 程序员
近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)
近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)
|
2天前
|
C++
C++核心编程三:函数提高(持续更新)
C++核心编程三:函数提高(持续更新)
|
2天前
|
编译器 C++
C++核心编程二:引用(持续更新)
C++核心编程二:引用(持续更新)
|
2天前
|
程序员 编译器 C++
C++核心编程一:内存分区模型(持续更新)
C++核心编程一:内存分区模型(持续更新)
|
22天前
|
编译器 C++
【C/C++】C/C++编程——整型(二)
【C/C++】C/C++编程——整型(二)
18 2