#include "stdio.h"
void main()
{ int i,j;
int c=0,d,z[10]={1,3,3,4,5,5,7,7,8,9};
//输出原始数据
for(i=0;i<10;i++)
printf("%d ",z[i]);
putchar('\n');
//删除相同数据
for(i=0;i<9-c;i++)
{
for(j=i+1;j<10;j++)
{
if(z[j]==z[i])
{
c++;//记录总共有几个不同的数据
for(d=j;d<10;d++)
z[d]=z[d+1];
j--;
}
}
}
//输出最终数据
for(i=0;i<10-c;i++)
printf("%d ",z[i]);
putchar('\n');
}
我自己写了一个例子,亲测有效! 欢迎试用。
---- 使用或者转发请注明来自:夜游龙(百度号:12345ye67890)
//delete same data in array
int i,j;
int k =1;
int flag =0;
int a[10] ={6,1,1,1,2,3,1,4,2,5};
int b[10]={0};
for (i=0;i<10;i++)
{
// decice if or not same data before a[i]
for(j=0;j
if(a[i] == a[j])
{
flag = 1;
break;
}
// if not,stored it in b[]
if(flag == 0) b[k++] = a[i];
else flag = 0;
}
// print results
for(i=0;iprintf("b[%d] = %d\n",i,b[i]);
最后输出的结果为:
b[0] = 6
b[1] = 1
b[2] = 2
b[3] = 3
b[4] = 4
b[5] = 5