题解 | #序列中删除指定数字#
序列中整数去重
http://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490
写复杂了,评论区的大神写的真好,直接从输入那里做文章,省下好多功夫
#include<stdio.h>
int main()
{
int n = 0, i = 0,j=0;
int arr[50] = { 0 };
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
for (i = 0; i < n; i++)
{
//每一个数字
for (j = i+1; j < n; j++)
{
//和自身以外的数字进行比较
if (arr[i] == arr[j])
{
//有重复,数组后面的整体向前提一位
for (int k = 1; k < n-j; k++)
arr[j+k-1] = arr[k+j];
j =j-1;
n--;
}
}
}
for (int j = 0; j < n; j++)
printf("%d ", arr[j]);
return 0;
}