29

代码:

include <stdio.h>

include <stdlib.h>

int cmp(const void *a, const void *b)
{
return (int)a - (int)b;
}

int main()
{
int n;
scanf("%d", &n);
int arr[100];
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
qsort(arr, n, sizeof(int), cmp);
int k = 0;
for (int i = 1; i < n; i++)
{
if (arr[i] != arr[k])
{
k++;
arr[k] = arr[i];
}
}
int m = k + 1;
printf("%d\n", m);
for (int i = 0; i < m; i++)
{
if (i > 0) printf(" ");
printf("%d", arr[i]);
}
printf("\n");

return 0;
}
bug:

收获:第二种排序:冒泡排序相邻元素比较,大的后移”,这道题用qsort 函数(C 标准库) 从第二个元素开始遍历,若当前元素与arr[k]不同就把其放到 arr[k+1] ,并更新 k

posted @ 2025-07-01 17:10  ervgiu28hg34y827  阅读(7)  评论(0)    收藏  举报