由于是暴力法,该方法会将a[n]中的每个元素判断一遍,时间复杂度较高,且设置了一个辅助数组b[ ]用来存放不重复的元素。
count用于记录b[ ]中有多少个未重复的元素。
#include<stdio.h>
int main()
{
int a[10];
int b[10];
int i=0,j=0,count=1;
printf("请输入数组的值:\n");
for(i=0;i<10;i++)
scanf("%d",a+i);
printf("原数组为:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
b[0]=a[0];//第一个元素先放入
for(i=1;i<10;i++)
{
for(j=0;j<count;j++)
{
if(b[j]==a[i])
break;//找到重复元素则跳出内循环
}
if(j==count)//如果没有找到重复元素,跳出内循环时j应该在count的位置
{
b[count]=a[i];
count++;//更新b[]的元素,并更新count的值
}
}
printf("\n");
printf("删除后的数组为:\n");
for(j=0;j<count;j++)
printf("%d ",b[j]);
return 0;
}
执行效果如下:
代码比较朴实,有问题欢迎指正0 .0