还是需要C语言高手啊
设计排序函数sort(),用于将一个无序数组转换成有序数组,再设计压缩函数trim(),将该有序数组压缩成各元素互不相同的有序数组,即相同数保留一个,多余的被删除。在主函数中通过调用函数实现数组的排序及压缩功能,并输出压缩后的数组内容。
参考答案:#include <stdio.h>
void sort(int* arr,int n)
{
int i,j,m;
int index;
for(i=0;i<n;i++)
{
m=arr[0];
index=0;
for(j=1;j<n-i;j++)
{
if(m<arr[j])
{
m=arr[j];
index=j;
}
}
arr[index]=arr[n-i-1];
arr[n-i-1]=m;
}
}
void trim(int* arr,int n)
{int i;
int j=0;
for(i=1;i<n;i++)
if(arr[i-1]!=arr[i])arr[++j]=arr[i];
for(i=0;i<=j;i++)
printf("%d",arr[i]);}
void main()
{
int num[]={2,2,2,1,5,9,9,5,9};
sort(num,9);
trim(num,9);
}