多重的嵌套,本质在于数组中删除的数字被后一个数字赋值覆盖掉。
#include <stdio.h>
int main(void)
{
int n, i, count = 0;
scanf("%d", &n);
int str[n];
for(i = 0; i < n; i++)
{
scanf("%d", &str[i]);
}
for(i = 0; i < n; i++)
{
for(int k = i + 1; k < n; k++)
{
if(str[i] == str[k])
{
for(int j = k + 1; j < n; j++)
{str[j - 1] = str[j]; }
n--;
k--;
}
}
}
for(i = 0; i < n; i++)
printf("%d ", str[i]);
return 0;
}

京公网安备 11010502036488号