#include <stdio.h> int main() { int i, j, n, v[1000], x = 0, t; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &v[i]); //输入数字个数 } for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { if (v[i] == v[j]) { x++; v[i] = 0; } else ; } }//判断重复数字,统计重复数字个数,并将重复的数字放到数组最前端 //printf("%d ", x); //上式子用来测试统计是否正确 for (i = 0; i < n; i++)//不包括因重复而被赋值为0的数 { for (j =0; j < n - i - 1; j++) //同理 { if (v[j] > v[j + 1]) { t = v[j]; v[j] = v[j + 1]; v[j + 1] = t; } } }//将除去重复数字后的数组内数组冒泡排序 for (i = x; i < n; i++) { printf("%d ", v[i]); } return 0; }