改了一下顺序,先排列,后删除重复的元素
# include <stdio.h>
void sort(int a[],int n);
int del(int a[],int n);
main()
{
int a[1000],i,n;
printf("How many numbers:");
scanf("%d",&n);
printf("input %d numbers:\n",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,n);
n=del(a,n);
printf("The sorted numbers:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
void sort(int a[],int n)
{
int i,j;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
if(a[i]>a[i+1])
{
a[i]=a[i]+a[i+1];
a[i+1]=a[i]-a[i+1];
a[i]=a[i]-a[i+1];
}
}
int del(int a[],int n)
{
int i,j;
for(i=0;i<n-1;++i)
{
if(a[i]==a[i+1])
{
for(j=i+1;j<n-1;++j)
a[j]=a[j+1];
--n;
}
}
return n;
}
温馨提示:答案为网友推荐,仅供参考