讨论 / 找到正解了!
comarpers922 2014-01-25 23:30:27
点我顶贴 收藏 删除
//这个可能复杂了点!

#define no -123

#include<stdio.h>

#include<stdlib.h>

main()

{

int count, temp, numof = 0;

scanf("%d", &count);

int *p=(int*)malloc(sizeof(int)*count);

for (int i = 0; i < count; i++)

{

scanf("%d",p+i);

}

for (int i = 0; i < count; i++)

{

for (int j = 0; j < count; j++)

{

if (*(p + i) < *(p + j))

{

temp = *(p + i);

*(p + i) = *(p + j);

*(p + j) = temp;

}

}

}//最原始的!!!冒泡排序!!!

for (int i = 0; i < count-1; i++)

{

for (int j = 1; j < count-1; j++)

{

*(p + i) == *(p + i + j) ? *(p + i + j) = no : 0;

}

}//去重

for (int i = 0; i < count; i++)

{

*(p + i) == no ? 0 : numof++;

}//计算数量

printf("%d\n",numof);//数量输出

for (int i = 0; i < count; i++)

{

*(p+i)!=no?printf("%d ",*(p+i)):0;

}

}

查看更多回复
提交回复