C语言数组去重排序(从大到小)
程序员文章站
2024-03-22 19:34:28
...
好久没写程序了,改了好久也只能写成这样,勉强能用
#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);
}