题解 | #明明的随机数#

明明的随机数

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

#include <math.h>
#include <stdio.h>

int main() {
    int a[2000] = {0}, x[2000];
    int N, i, j, n, tmp;
    scanf("%d", &N);//输入个数N
    for(i = 0;i < N; i++){
        scanf("%d", &a[i]);//构建N个数据的数组a[]
    }

    for(i = 0;i < N; i++)
    for (j = i + 1; j < N ; j++) //将重复的元素归0
    {
        if(a[i] == a[j])
        {
            a[j] = 0;
        }
    }
    j = 0;
    for (i = 0; i < N; i++) {
        if(a[i] != 0)//把a[]中的非0元素一个个放到x[]中
        {
            x[j] = a[i];
            j++;
        }
    }
    i = 0;
    n = 0;
    while (x[i] != 0) {//计算x[]中有多少个元素,主要减少运算量
        n++;
        i++;
    }
 
    for (i = 0; i < n; i++) 
    for (j = 0; j < n - i - 1; j++) {//气泡排序法
        if(x[j] > x[j+1] )
        {
            tmp = x[j];
            x[j] = x[j+1];
            x[j+1] = tmp;
        }
    }
  
    
    for(i = 0; i < n; i++)
    printf("%d\n",x[i]);

    return 0;
    }

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务