一个C语言算法,关于筛选重复数据

一个数组中有20个数据,比如说1,2,3,4,2,3,4,5,6,2,2,4....
怎样把里面的不同数据找出来呢?结果是1,2,3,4,5,6...
谢谢啊..
不要用指针之类的东西啊
最好用For循环就可以完成的..

第1个回答  2007-11-16
#include<stdio.h>
void main()
{ int a[20]={1,2,3,2,3,4,5,6,7,2,3,5,6,8,1,9,11,22,11,55},i,j,m=1,b[20],s=0;

b[0]=a[0];

for(i=0;i<=19;i++)
{ for(j=0;j<=m;j++)
if(a[i]==b[j])
s=1;

if(s==0)
b[m++]=a[i];

s=0;
}

for(i=0;i<=m-1;i++)
printf("%d ",b[i]);

}
第2个回答  2007-11-16
新设立一个大小一样的数组,初始值为一个特别的数,
然后读原数组,如果新数组中没有当前读的数据,则把这个数放在新数组中,新数组就是要的结果(可以设一个变量i,用来存放新存放的个数)
第3个回答  2021-02-27

筛选重复的数据文本操作步骤

第4个回答  2007-11-16
用两个for
第一个for为历遍数组。
嵌套的另一个for用来判断本数之前是否有与其相同的数。
没有就输出。
有就忽略。
参考这个:
#include<stdio.h>
main()
{
int a[20],i,j,n=0;
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<20;i++)
{
for(j=0;j<i;j++)
if(a[i]==a[j]&&i!=j)
{n++;break;}
}
printf("%d\n",20-n);

}本回答被提问者采纳
相似回答