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
浙公网安备 33010602011771号