欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言数组去重排序(从大到小)

程序员文章站 2024-03-22 19:34:28
...

好久没写程序了,改了好久也只能写成这样,勉强能用

C语言数组去重排序(从大到小)

 

#include<stdio.h>
void bubble_sort(int *arr,int len) {  
    int i, j,temp;
       for(i=0;i<len;i++){
           for(j=i+1;j<len;j++){
            if(arr[i]==arr[j]){
                arr[j]=arr[len-1];
                len--;
            }
        }}//数组去重
    for (i = 0; i <=len - 1; i++)          
        for (j = len-2; j >=i; j--)  //从后向前,排好序的放在数组前面 
            if (arr[j]<arr[j + 1])          
               {
               temp=arr[j];
               arr[j]=arr[j+1];
               arr[j+1]=temp;}//冒泡排序
    for(i=0;i<len;i++){
    printf("%d",arr[i]);
    }        //输出  
}  
void main(){
    int a[20];
    int n,i;
    printf("请输入n的值(小于20):");
    scanf("%d",&n);
    printf("请输入%d个数:",n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]); 
    } //输入数组
    bubble_sort(a,n);
}

C语言数组去重排序(从大到小)