C语言高手帮忙,在线等答案

来源:百度知道 编辑:UC知道 时间:2024/05/12 07:54:46
设计排序函数sort(),用于将一个无序数组转换成有序数组,再设计压缩函数trim(), 将该有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除.在主函数中通过调用函数实现数组的排序及压缩功能,并输出压缩后的数组内容.

int a[20]={6,4,8,9,2,1,0,5,2,4,6,3,9,0,1,3,7,9,8,4};

main()
{
sort();
trim();
}

int sort()
{
int i,j,m;
for(i=0;i<20;i++)
for(j=i+1;j<20;j++)
if(a[i]<a[j])
{
m=a[i];
a[i]=a[j];
a[j]=m;
}
for(i=0;i<20;i++)
printf("%d,",a[i]);
printf("\n");
}
int trim()
{
int i,j,m=20;
for(i=0;i<m-1;i++)
{
if(a[i]==a[i+1])
{
for(j=i+1;j<m-1;j++)
a[j]=a[j+1];
m--;
i=-1;
}
}
for(i=0;i<m;i++)
printf("%d,",a[i]);
}

...寒...

冷!冷!

#include<stdio.h>
#define N 10
void main()
{
int a[N];
int i;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
sort(a);
trim(a);
for(i=0;i<N;i++)
printf("%3d",a[i]);
getch();