请编写函数fun ,该函数的功能是:删除一维数组中所有相同的数.使之只剩一个。
数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如:若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。
#include <stdio.h>
#define H 80
int fun(int a[], int n)
{
int i=0,j;
for(j=1;j<n;j++)
if(a[j]!=a[i])
a[++i]=a[j];
return i;
}
int main()
{
int i,k;
int a[H]={2,2,2,3,3,3,3,4,4,5,5,6,7,8,8,9,10};
k=fun(a,H);
printf("共有%d个数\n",k);
for(i=0;i<k;i++)
printf("%-4d",a[i]);
return 0;
}
Dev-C++运行结果: