C语言:数组9(删除重复元素)
总提交:559 测试通过:261
描述
输入n(1<n<30)个整数,删除它们中的重复数据。
输入
有多组数据。
每组数据的第1行是整数n,第2行是n个整数。
输出
删除重复数据后的结果。每个数据后有1个空格。
样例输入
5
1 2 4 2 3
10
1 4 5 6 3 4 6 6 1 3
样例输出
1 2 4 3
1 4 5 6 3
提示
注意:用scanf("%d",&n)!=EOF 判断是否结束。

#include<stdio.h> int main() { int a[30],i,j,k,t,n; while (scanf("%d",&n)!=EOF) { for (i=0;i<n;i++) scanf("%d",&a[i]); k=1; for (i=1;i<n;i++) { for (j=0; j<k; j++) if (a[i]==a[j]) break; if (j==k) a[k++]=a[i]; } for (i=0;i<k;i++) printf("%d ",a[i]); printf(" "); } return 0; }
#include<stdio.h>
int main()
{
int a[30],i,j,k,t,n;
while (scanf("%d",&n)!=EOF)
{
for (i=0;i<n;i++)
scanf("%d",&a[i]);
k=1;
for (i=1;i<n;i++)
{
for (j=0; j<k; j++)
if (a[i]==a[j]) break;
if (j==k) a[k++]=a[i];
}
for (i=0;i<k;i++)
printf("%d ",a[i]);
printf("
");
}
return 0;
}
//删除N 中 所有的 x
#include <stdio.h>
#define N 10
int f(int a[],int n,int x)
{
int i ,j=0;
for(i=0;i<n;i++)
if(a[i]!=x) a[j++]=a[i];
return j ;
}
int main ( )
{
int a[N]={ 4,3,3,5,1,7,8,9,10,11},i,x,n ;
scanf("%d",&x);
n=f(a,N,x) ;
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("
");
return 0;
}
******************************************************************
#include <stdio.h>
int f(int a[],int n,int x)
{
int i ,j=0;
for(i=0;i<n;i++)
if(a[i]!=x) a[j++]=a[i];
return j ;
}
int main ( )
{
int a[1000],i,x,n ;
scanf("%d",&n);
for(i=0;i<n ;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
n=f(a,n,x) ;
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("
");
return 0;
}
******************************************
#include <stdio.h>
int f(int a[],int n,int x)
{
int i ,j=0;
for(i=0;i<n;i++)
if(a[i]!=x) a[j++]=a[i];
return j ;
}
int main ( )
{
int a[1000],i,x,n ,N ;
scanf("%d",&N);
for(i=0;i<N ;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
n=f(a,N,x) ;
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("
");
return 0;
}
**************************************************************
#include <stdio.h>
int f(int a[],int n,int x)
{
int i ,j=0;
for(i=0;i<n;i++)
if(a[i]!=x) a[j++]=a[i];
return j ;
}
int main ( )
{
int i,x,n ,N ;
scanf("%d",&N);
int a[N] ;
for(i=0;i<N ;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
n=f(a,N,x) ;
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("
");
return 0;
}

//删除N 中 所有的 x #include <stdio.h> #define N 10 int f(int a[],int n,int x) { int i ,j=0; for(i=0;i<n;i++) if(a[i]!=x) a[j++]=a[i]; return j ; } int main ( ) { int a[N]={ 4,3,3,5,1,7,8,9,10,11},i,x,n ; scanf("%d",&x); n=f(a,N,x) ; for(i=0;i<n;i++) printf("%3d",a[i]); printf(" "); return 0; }