将输入的n个(n≤10)数据中重复的数据删除,即重复的数据只保留1个。
输入格式:
首先输入整数n,然后在下一行输入n个整数。
输出格式:
在一行中输出去掉了重复数据后的值 ,数据之间用一个空格分隔,最后一个数据后面无空格。
输入样例:
10
81 78 85 67 85 40 85 82 90 78
输出样例:
81 78 85 67 40 82 90
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main()
{
int n,i,l = 0,k = 0;
scanf("%d",&n);
int a[n],b[10];
for (i=0; i<n; i++) { //遍历数组
scanf("%d",&a[i]);
}
i=0;
for (i=0; i<n; i++) {
int j = 0;
for (j=0; j<n; j++) { //判断每个数出现几次
if (a[i] == a[j]) {
k++;
}
}
if (k == 1) { //只出现一次的情况
b[l] = a[i];
l++;
} else { //出现多次的情况
j = l;
int N = 0;
while (j >= 0) { //判断是不是第一次出现
if (b[j] == a[i]) {
N = 1; //如果不是第一次出现令N=1
break;
}
j--;
}
if (N != 1) { //是第一次出现
b[l] = a[i];
l++;
}
}
k = 0;
}
i=0;
for (i=0; i<l; i++) { //输出
printf("%d",b[i]);
if (i < l-1) {
printf(" ");
}
}
}