下面是我写的程序和运行的结果
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *p, const void *q)
{
return *(int *)p-*(int *)q;
}
int main()
{
int a[100], b[100], n, m, i, j; //数组a为了接收数据,数组b为了存放已经除去重复的元素
printf("请输入数据,按ctrl+z结束输入:\n");
i=0;
while(scanf("%d", &a[i])!=EOF) i++;
n=i; //n为输入数据的个数
m=0; //m为此时数组b中的元素个数
for(i=0; i<n; i++)
{
for(j=0; j<m; j++) //查找数组b中是否存在该元素
{
if(a[i]==b[j]) break;
}
if(j==m) //数组b中没有该元素
{
b[m]=a[i];
m++;
}
}
qsort(b, m, sizeof(int), cmp); //快排进行排序
for(j=0; j<m; j++)
{
printf("%-5d", b[j]);
}
}