题解 | 序列中整数去重
序列中整数去重
https://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490
#include <stdio.h>
#define N 5000
int main()
{
int arr1[N] = {0};
int arr2[N] = {0};
int n;
scanf("%d",&n);
int i,j;
int count = 0;//用来记录arr1中存储在arr2中的位置
for(i = 0; i < n; i++)
{
int flag = 0;//假设arr2中不存在与arr1中相同的数组,该处flag一定要设置成局部变量,为了使当flag = 1然后进行下一次循环时flag的值被初始化
scanf("%d",&arr1[i]);
for(j = 0; j < count; j++)
{
if(arr1[i] == arr2[j])
{
flag = 1;//两个数组中存在相同的数字
break;//跳出循环
}
}
if(flag == 0)
{
arr2[count] = arr1[i];//将arr1与arr2中不重复的数字存储进arr2中
count++;//存储的位置右移1个位置
}
}
for(i = 0; i < count; i++)
{
printf("%d ",arr2[i]);
}
return 0;
}


查看3道真题和解析